Я новичок в написании скриптов и выполнении обычных задач на OS X, поэтому заранее благодарен за помощь.
Я хочу создать каталог tmp в своем домашнем каталоге, например /Users/username/tmp, который я могу использовать в качестве каталога «загрузок».
Моя цель — удалить файлы/каталоги в этом каталоге, скажем, через 10 дней после atime (последнего доступа).
Поэтому я ищу скрипт, а также способ его регулярного запуска на OS X Lion, используя ZSH в качестве оболочки.
Спасибо.
решение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
Вероятно, здесь есть много чего неправильного, и если вы постоянно используете extended_glob, вам, естественно, не нужно включать и выключать его в скрипте.