1

Я новичок в написании сценариев и регулярных заданий в OS X, поэтому заранее благодарен за помощь.

Я ищу каталог tmp в моем домашнем каталоге, как в /Users /username /tmp, который я могу использовать в качестве своего каталога "загрузок".

Моя цель состоит в том, чтобы файлы / каталоги в этом каталоге удалялись, скажем, через 10 дней после atime (последний доступ).

Поэтому я ищу сценарий, а также метод для его регулярного запуска на OS X Lion с использованием ZSH в качестве оболочки.

Благодарю.

1 ответ1

1

Напишите скрипт, который удаляет файлы в папке, если их время раньше, чем десять дней назад, а затем запускайте его ежедневно (я не знаю, каков лучший механизм для этого на 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, вам не нужно, чтобы он включался и выключался в сценарии, естественно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .