Vass 30.10.2009 17:07
Есть вопрос! — [РЕШЕНО]Нужен shell скрипт удаления устаревших файлов.
Никак не могу сообразить как написать, гугол чего-то не помог.Суть такая, надо удалять все файлы в папке созданные раньше чем за N часов до текущего времени.
Пользуйся logrotate, он и удалит, и в архив скидает, и сожмет, если надо.
Спасибо, я в курсе, нам он для этого вида логов не подошел, сделаи свой вариант.
Зачем так извращаться с кол-вом минут? =)
-mtime n
File’s data was last modified n*24 hours ago. See the comments
for -atime to understand how rounding affects the interpretation
of file modification times.
-ctime n
File’s status was last changed n*24 hours ago. See the comments
for -atime to understand how rounding affects the interpretation
of file status change times.
Есть замечательная штука, называется tmpwatch. Вот немного примеров:
# Delete everything in PORTAGE_LOGDIR that hasn't been accessed in 4 weeks
if << -d ${PORTAGE_LOGDIR:-/var/log/portage} >>; then
${TMPWATCH} --atime 772 ${PORTAGE_LOGDIR:-/var/log/portage}
fi
# Delete mysql-backups every 7 days
if << -d "$MYSQL_BACKUP" >>; then
${TMPWATCH} --ctime --all 168 ${MYSQL_BACKUP}
fi
# Delete everything in DISTDIR that hasn't been accessed in 6 months (going
# by 30 day months)
if << -d ${DISTDIR:-/usr/portage/distfiles} >>; then
${TMPWATCH} --atime --fuser 4320 ${DISTDIR:-/usr/portage/distfiles}
fi
find /var/log/www/ -name *.log -cmin +44620 -exec rm -v {} \;