LINUX.ORG.RU

Помогите сделать ротацию логов. Нужно оставить файлы в папке за последние N дней

 


0

1

Здравствуйте. Имеется папка с логами:

2019-10-21_23-25-07_scr.png
2019-10-21_23-25-07.html
2019-10-22_05-10-35_scr.png
2019-10-22_05-10-35.html
2019-10-23_08-20-14_scr.png
2019-10-23_08-20-14.html
2019-11-07_03-10-05_scr.png
2019-11-07_03-10-05.html
2019-11-08_22-55-01_scr.png
2019-11-08_22-55-01.html

Формат файла думаю понятна «год-месяц-день_час-минута-секунда.html» и «год-месяц-день_час-минута-секунда_scr.png» Необходимо оставлять логи за последние 10 дней. Т.е. скрипт в 00:00:01 должен будет проверить папку и удалить все кроме последний 10 дней.

Помогите пожалуйста, как грамотно сделать ротацию средствами bash? Спасибо.



Последнее исправление: vebmaster (всего исправлений: 1)

bash не при чем, имена файлов не при чем, man find на предмет -newer и -exec и пары опций вверх-вниз от них

t184256 ★★★★★
()
Ответ на: комментарий от vebmaster

спасибо, решено. [code] find . -maxdepth 1 -type f -mtime +10 -exec rm {} ; [/code]

Необходимо оставлять логи за последние 10 дней

Numeric arguments can be specified as +n for greater than n, -n for less than n

Сомневаюсь.

anonymous
()
Ответ на: комментарий от anonymous

хорошо хоть не рмрф.

главное что-то в голове есть и гуглить вон болемене умеет - разберется.

deep-purple ★★★★★
()

tmpwatch для тех, кому неохота find осиливать

anto215 ★★
()
Ответ на: комментарий от anonymous

Я как раз и прав. Чтобы удалить файлы старше 10 дней (т.е. если сегодня 20.11, то удалятся файлы начиная с 10.11 и старше)

find . -maxdepth 1 -type f -mtime +8 -delete;

А следующая команда удалит файлы за последние 10 дней, чего мне делать не нужно.

find . -maxdepth 1 -type f -mtime -9 -delete;

Почему чисто отличается от 10, думаю понятно - специфика работы mtime, http://fliplinux.com/find-mtime-1.html тут в коментах описано хорошо.

vebmaster
() автор топика
Ответ на: комментарий от dexpl

Хорошая мысля приходят опосля. Спасибо, записал.

vebmaster
() автор топика

Типичная задача для logrotate. Ещё и сжимать может

das_tier ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.