Я пишу сценарий для уборки. Сценарий должен очистить все папки, к которым нет доступа более 7 дней. В настоящее время я использую -
for sub_folder in * ; do
if [ -z $(find $sub_folder -type f -atime +7| head -n 1) ]; then
rm -rf $sub_folder
fi
done
Есть ли лучший способ, который может надежно определить папки, не использовавшиеся в течение последних N дней?
Возможно, следующий сценарий лучше:
Примечание: Обратите внимание на
rm
команда! Использоватьecho "rm -rf $sub_folder"
для тестирования.
#!/bin/bash
if [ $# -ne 1 ];then
echo "Usage: `basename $0` DIRECTORY"
exit 1
fi
for sub_folder in `find $@ -type d -atime +7 2>/dev/null` ; do
rm -rf $sub_folder
done
exit 0