Скрипт автоматического удаления файлов старше нескольких минут в ubuntu

есть ли скрипт оболочки, который удаляет все файлы в папке старше x минут?

5
задан dassouki
источник

3 ответов

Это должно сделать это, я проверил это с *.txt, но вы можете изменить его на все файлы с помощью *.* вместо:

#!/bin/bash
cd /usr/local/my_logs
find ./*.txt -type f -mmin +5 -exec rm {} \;
3
отвечен John Rabotnik 2010-04-08 19:24:11
источник

это будет работать вечно, удалять файлы, измененные более чем за три минуты до каждой итерации и ждать одну минуту, прежде чем делать это снова:

while true
do
    find -type f -mmin +3 -delete
    sleep 60
done

Вы можете добавить -maxdepth 1 Если вы не хотите, чтобы быть рекурсивными.

1
отвечен Dennis Williamson 2010-04-08 17:57:24
источник

Я использую такой скрипт, чтобы удалить резервные копии старше 30 дней:

find "/backups/mysql/" -type f -mtime +30 -print0 | xargs -0 rm -f

исходя из этого, я думаю, вы могли бы сделать нечто подобное:

find "/yourDir/" -type f -mmin +10 -print0 | xargs -0 rm -f

Я думаю, что получил бы ' em более 10 минут

1
отвечен Chris_K 2010-04-08 17:58:40
источник

Другие вопросы bash shell ubuntu ubuntu-server