Вы можете использовать задания cron для управления архивированием каждый день (в полночь или в любое другое время). Вы можете посмотреть его, используя 'man cron'.
Один из способов сделать это - создать одно задание cron, которое архивирует каталог и обновляет его каждый день. Еще одна работа cron для сжатия этого тарбола.
Итак, во-первых, что-то вроде:
if [ ! -f directory.tgz ]; then
tar cf directory.tgz directory_name/
else
tar uf directory.tgz directory_name/
Пример работы cron, которая будет выполняться каждый день, будет выглядеть примерно так:
58 23 * * * script
Который будет работать в 23 часа на 58 минуте (незадолго до полуночи). Очевидно, вам необходимо настроить это в соответствии с вашими потребностями.
РЕДАКТИРОВАТЬ: Я должен также добавить, как идти о сжатии. Было бы разумно найти преимущества и недостатки алгоритмов сжатия. Например, gzip, вероятно, займет меньше времени для сжатия, чем bzip2; но последний может обеспечить меньшее сжатие (на основе сжимаемых данных), чем первый. Их использование довольно просто, снова используйте для них страницы «man». Вот пример:
bzip2 -c directory.tar > directory.bz2