我是 OS X 上的腳本編寫和常規工作新手,因此請提前感謝您的幫助。
我希望在我的 homedir 中有一個 tmp 目錄,例如 /Users/username/tmp ,我可以將其用作我的「下載」目錄。
我的目標是在 atime(上次造訪)後 10 天後刪除此目錄中的檔案/目錄。
所以我正在尋找一個腳本以及使用 ZSH 作為 shell 在 OS X Lion 上定期運行它的方法。
謝謝。
答案1
編寫一個腳本,如果資料夾中的文件的atime 早於十天前,則刪除該文件,然後每天運行它(我不知道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
這可能有各種各樣的問題,如果您習慣使用extend_glob,那麼自然不需要在腳本中打開它然後再關閉它。