Как создать tar, который обновляется в течение 2 недель - PullRequest
0 голосов
/ 13 декабря 2011

Мне нужно установить скрипт bash, который копирует и сжимает каталог.Tar должен обновляться каждый день после этой точки в том же каталоге.Это должно происходить в течение 14 дней, пока смола не будет окончательно удалена и процесс не будет перезапущен.

Я мог бы использовать эту настройку рукой.Большое спасибо

1 Ответ

0 голосов
/ 13 декабря 2011

Вы можете использовать задания 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
...