Здравствуйте. В bash не силён, поэтому проверьте, пожалуйста. Нужна команда для удаления файлов старше, допустим, пяти дней. Нашёл в интернете такую:
Код:
find /data/backups -type f -mtime +5 -exec rm {} \;
Удаляет вроде правильно, но берут сомнения =)
Всё правильно. И это можно понять из man find. Эта команда находит файлы (type f), время изменения которых (mtime) больше пяти дней (+5), и передаёт их команде rm. Как верно заметил eddy, передавать не обязательно: команда find /data/backups -type f -mtime +5 -delete даст точно такой же результат.
команда find /data/backups -type f -mtime +5 -delete даст точно такой же результат.
но работать будет быстрее. Особено это заметно на большом числе мелких файлов.
Разве размер тут имеет значение? Просто на большом числе файлов.
Замедление обусловлено тем, что для каждого файла запускается отдельный процесс rm и только этим? -delete же не тратит время на запуск дополнительных процессов, да?
Вне зависимости от размеров каждого отдельного файла.