@mobydig

Как решить проблему с tar incremental?

Стоит задача резервного копирования папки сайта через cron с использованием incremental.

Код следующий:
cd /home/
tar --create --gzip \
--file=backups/`date +%F-%s`_ru.tar.gz \
--listed-incremental=backups/meta_ru \
--no-check-device \
--exclude-vcs \
--exclude-tag-under=access.log \
--exclude='*.log' \
--exclude-caches \
--exclude-tag-under=IGNORE.TAG \
ru


При первом запуске получился архив со следующими папками внутри:
5ad486cdc8ad0858582896.png
Файлы резервируемой директории RU распределены внутри архива по папкам "ru", "13264015404/ru" и т.д.
Вопрос: По какой логике это происходит?
По идее в архиве должна быть только резервируемая директория со всеми файлами.

При втором запуске (в резервируемой директории RU ни один из файлов не изменился) создается архив размером около 10 Мб. Внутри архива множество вложенных пустых папок, таких как "ru\public_html\content\site1\pages\page_name\prev". Вопрос: Как с этим бороться? Как не включать директории, в которых нет измененных файлов?
  • Вопрос задан
  • 614 просмотров
Пригласить эксперта
Ответы на вопрос 4
@Tabletko
никого не трогаю, починяю примус
Не стоит открывать файлы *.tar созданные в unix/linux виндовыми архиваторами.
Ответ написан
@Hanharr
Как не включать директории, в которых нет измененных файлов?

man find
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Предположим у вас есть бэкапы
1
2
3
4

Как очередной incremental бэкап должен узнать, что было забэкаплено в 2, 3, 4?
Поэтому tar сохраняет мета-информацию.

P.S. Виндовые архиваторы могут некорректно видеть содержимое .tar архива. Пользуйтесь портироавнным tar.
Ответ написан
@pfg21
ex-турист
Сам недавно с таким столкнулся, причем открывал в Far Total 7zip...
у меня такое чувство что они используют одну и тот же код tar, в котором имеется ошибка.

Причем такую же ошибку выдает даже компиляция Gnuwin Tar, а это уже интереснее.
т.е. команда
tar -tf ./srv3-2018-04-11-diff.tar
под виндой выдает аналогичную белиберду.
13070423312/./
13070423315/bin/
12321613446/boot/
12703176216/boot/grub/
12703176351/boot/grub/fonts/
12703176342/boot/grub/i386-pc/
12703176342/boot/grub/locale/
12560315617/etc/
12560315525/etc/X11/
13046047347/etc/X11/Xreset.d/

И есть инструмент под винду Tartool который адекватно распаковывает этот же tar архив, значит дело в исходных кодах

надо бы писать разработчикам, или хотя бы бучу поднять на каком-нить стаковерфлоу, но с аглицким не лады...
кто дружен с аглицким - стукнитесь тудысь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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