Удаление файлов старше определённого времени

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Удаление файлов старше определённого времени

Сообщение Galaxy »

Здравствуйте. В bash не силён, поэтому проверьте, пожалуйста. Нужна команда для удаления файлов старше, допустим, пяти дней. Нашёл в интернете такую:

Код:

find /data/backups -type f -mtime +5 -exec rm {} \;

Удаляет вроде правильно, но берут сомнения =)
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
eddy
Сообщения: 3321
Статус: Красный глаз тролля
ОС: ArchLinux

Re: Удаление файлов старше определённого времени

Сообщение eddy »

Можно и без -exec (см. ключ -delete).
RTFM
-------
KOI8-R - патриотичная кодировка Изображение
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Удаление файлов старше определённого времени

Сообщение t.t »

Galaxy писал(а):
28.03.2011 08:59
Здравствуйте. В 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 даст точно такой же результат.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: Удаление файлов старше определённого времени

Сообщение sciko »

t.t писал(а):
28.03.2011 09:37
команда find /data/backups -type f -mtime +5 -delete даст точно такой же результат.
но работать будет быстрее. Особено это заметно на большом числе мелких файлов.
Спасибо сказали:
Аватара пользователя
Galaxy
Сообщения: 158
Статус: Говорящий со звёздами
ОС: Debian GNU/Linux

Re: Удаление файлов старше определённого времени

Сообщение Galaxy »

Покорнейше благодарю.
Si vis pacem, para bellum.
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Удаление файлов старше определённого времени

Сообщение Nazyvaemykh »

sciko писал(а):
28.03.2011 10:02
t.t писал(а):
28.03.2011 09:37
команда find /data/backups -type f -mtime +5 -delete даст точно такой же результат.
но работать будет быстрее. Особено это заметно на большом числе мелких файлов.

Разве размер тут имеет значение? Просто на большом числе файлов.
Замедление обусловлено тем, что для каждого файла запускается отдельный процесс rm и только этим? -delete же не тратит время на запуск дополнительных процессов, да?
Вне зависимости от размеров каждого отдельного файла.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
sciko
Сообщения: 1744
Статус: Ъ-участник
ОС: Debian/Ubuntu/etc

Re: Удаление файлов старше определённого времени

Сообщение sciko »

Nazyvaemykh писал(а):
28.03.2011 12:05
Разве размер тут имеет значение?
Имеет. На больших файлах эффект будет менее заметен, т.к. стирать их дольше.
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Удаление файлов старше определённого времени

Сообщение Nazyvaemykh »

понятно, спасибо.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали: