Скрипт вращения оболочки linux (не скрипт "log rotate")

У меня есть каталог, который я хочу архивировать. Повернуть архив. Никогда не более 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, но ни один из них не подходит именно для этого.

Есть идеи, где мне искать?

еще раз спасибо

2 ответа

Решение

С пользовательским сценарием оболочки. Вам следует переводить только то, что вы пишете выше, в команду оболочки. Здесь вы можете найти хорошее руководство для начинающих по написанию сценариев оболочки.

Он не полностью соответствует вашему запросу, но 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:

Архивируйте старые версии файлов журналов, добавляя ежедневное расширение, например YYYYMMDD, вместо простого добавления числа.

Другие вопросы по тегам