zsh의 OS X Lion에서 X일 후에 삭제되는 /Users/username/tmp 디렉토리를 어떻게 설정할 수 있습니까?

zsh의 OS X Lion에서 X일 후에 삭제되는 /Users/username/tmp 디렉토리를 어떻게 설정할 수 있습니까?

저는 OS X에서 스크립팅과 일반 작업을 처음 접했기 때문에 미리 도움을 주셔서 감사합니다.

내 homedir에 /Users/username/tmp와 같이 "다운로드" 디렉터리로 사용할 수 있는 tmp 디렉터리를 찾고 있습니다.

내 목표는 atime(마지막 액세스) 후 10일 후에 이 디렉터리의 파일/디렉터리를 삭제하는 것입니다.

그래서 저는 스크립트와 ZSH를 셸로 사용하여 OS X Lion에서 정기적으로 실행하는 방법을 찾고 있습니다.

감사해요.

답변1

시간이 10일 전보다 이전인 경우 폴더의 파일을 삭제하는 스크립트를 작성하고 매일 실행하도록 합니다(OSX에서 가장 좋은 메커니즘이 무엇인지 모르겠습니다. Linux에서는 anacron을 사용하거나 실패합니다). cron을 사용하여 매시간 실행합니다).

샘플 스크립트(예: ~/downloads와 같은 디렉터리를 첫 번째 인수로 사용):

#!/bin/zsh

setopt extended_glob

targetpath=$1

[[ -d $targetpath ]] || (echo "Directory does not exist" 1>&2 && exit 1)

rm ${path}/**(.a+10) # ** will match recursively, and the bit in brackets is an
# extended glob qualifier, matching ordinary files with an atime more than ten days ago.
unsetopt extended_glob
exit 0

여기에는 아마도 온갖 종류의 문제가 있을 것입니다. 그리고 만약 당신이 습관적으로 확장된_glob을 사용한다면 당연히 스크립트에서 그것을 켰다가 나중에 끌 필요가 없습니다.

관련 정보