У меня есть каталог, который я хочу заархивировать. Повернуть архив. Не более 8 файлов, и в имени каждого файла будет указана дата архивации. Пример:
1_2010_08_01_17h35m26s_archive.tar.bz2
2_2010_08_02_17h34m12s_archive.tar.bz2
3_2010_08_03_17h35m13s_archive.tar.bz2
4_2010_08_04_17h35m24s_archive.tar.bz2
5_2010_08_05_17h34m57s_archive.tar.bz2
6_2010_08_06_17h35m29s_archive.tar.bz2
7_2010_08_07_17h35m13s_archive.tar.bz2
8_2010_08_08_17h35m18s_archive.tar.bz2
И следующий архив удалит 8-й файл, переименует каждый файл в (n + 1), затем создаст новый с именем типа 1_yyyy_mm_dd_HHhMMmSSs_archive.tar.bz2
NB: Я уже просмотрел некоторые сценарии logrotate, но ни один из них не подходит именно для этого.
Есть идеи, где мне искать?
еще раз спасибо
С настраиваемым сценарием оболочки. Вам следует переводить только то, что вы написали выше, в команде оболочки. Вот вы можете найти хорошее руководство для начинающих по написанию сценариев оболочки.
Это не полностью соответствует вашему запросу, но logrotate настроен с dateext
вращает файлы следующим образом:
mainlog-20100720.gz
mainlog-20100721.gz
mainlog-20100722.gz
mainlog-20100723.gz
mainlog-20100724.gz
mainlog-20100725.gz
mainlog-20100726.gz
Дайджест от man logrotate
:
Архивируйте старые версии файлов журнала, добавляя ежедневное расширение, например ГГГГММДД, вместо простого добавления числа.