butteff
@butteff
Раз в тысячу лет заправляю свитер в носки

Из-за чего проблема с tar при бэкапе?

Здравствуйте. Есть дома сервер, вещает сайты в сеть.
Есть также скрипт бэкапа, самописный, который по крону запускается каждый день ночью.
Файлы он бэкапит, делая tar.gz архив, копируя на другой диск.

Возникает проблема, что если в этот момент в папке, которую tar сжимает, что-то изменится, tar вылетает с ошибкой [tar] файл изменился во время чтения. Разумеется бэкап получается не полный.

Так как вещаются сайты, то там постоянно меняется то кэш, то содержимое папки uploads, в которую фрэймворк загружает картинки, которые выкладывают пользователи, например. Или меняются логи.

Если на логи и кэш можно поставить исключения, то на папку uploads нет, ведь эти файлы - часть контента и они нужны. А иметь вероятность не полного бэкапа - не радует.

И вот как быть и что делать?
Посоветуйте, пожалуйста.
  • Вопрос задан
  • 5861 просмотр
Решения вопроса 1
@ksand
1. rsync -qWaup /path/to/side_dir /backup/ #верный вариант если есть место для полного дубля
tar -cjf backup_site`date +%y%m%d`.tar.bz2 /backup/site_dir

2. lvm snapshot 8) при условии что используется lvm
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
apt-get install archivemount
mkdir -p /backup/archive/
touch /backup/backup-$(date +%s).tar
archivemount /path/to/test.tar /backup/archive/
rsync -avzP /path/to/site/ /backup/archive/; rsync -avzP /path/to/site/ /backup/archive/
umount /backup/archive/
gzip /backup/*.tar


Как то так делается то, что вы сейчас хотите. Но лучше посмотреть в сторону создания человеческой копии с диффами через какой-нибудь rdiff-backup или rsnapshot
Ответ написан
Комментировать
ali_aliev
@ali_aliev
Разработчик на Django/Python, JavaScript
Попробуйте опции --exclude или --ignore-failed-read
Ответ написан
Комментировать
kenny_opennix
@kenny_opennix
Список исключений добавьте в файл и тару говорите что исключить нуэно из файла.
Так же для rsync, можно настроить csync между серверами, тогда синхранизироватся будут практически на лету.
Ответ написан
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
файл изменился во время чтения

Это предупреждение, а не ошибка. Остальные файлы должны архивироваться нормально.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы