Как в OS X Lion под zsh настроить каталог /Users/username/tmp, который удаляется через X дней?

Как в OS X Lion под zsh настроить каталог /Users/username/tmp, который удаляется через X дней?

Я новичок в написании скриптов и выполнении обычных задач на 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, вам, естественно, не нужно включать и выключать его в скрипте.

Связанный контент