используя tar для сжатия каталога журнала, что происходит, когда apache пытается записать во время сжатия? - PullRequest
2 голосов
/ 12 июля 2010

Я хочу запустить cron и сжимать мой каталог / var / log каждый час в файл tar ... чтобы я мог сделать резервную копию этого файла.

Что произойдет с файлами журналов в тот момент, когда я запускаю команду tar, пропущу ли я эти строки журнала, или другие программы, работающие и использующие / var / log, подождут, или tar будет поврежден и т.д.?

У меня загруженный веб-сервер, поэтому он записывает в файлы журналов много раз каждую секунду.

Я планирую запустить

tar -zcf /home/user/file_date.tar /var/log

1 Ответ

2 голосов
/ 12 июля 2010

У tar будет неполная версия файла без новых данных, которые были записаны при сжатии, и вы получите следующее сообщение:

Truncated write; file may have grown while being archived.

Вы можете проверить это с помощью следующейliner:

perl -e 'open my $log_fh, ">", "/tmp/dir/log" or die; while (1) { print $log_fh $x++,"\n"; } '

и запускать

tar cvzf dir.tar.gz /tmp/dir/

с другого терминала

Я бы предложил переименовать файл перед таррингом или использовать logrotate, если он подходит вашемунеобходимо.

...