Форум программистов, компьютерный форум, киберфорум
Софт для Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
13 / 13 / 5
Регистрация: 06.04.2016
Сообщений: 180

Tar --listed-incremental получаю полный архив вместо инкрементного

30.10.2019, 11:49. Показов 2210. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, друзья!

Осваиваю методику инкрементного резервного копирования основного раздела Ubuntu ( / ). Нашел много ссылок с описанием tar --listed-incremental. Попробовал на виртуалке, 2-ой архив tar получается такого же размера, что и 1-й. Притом, что даже перезагрузки не было, делаю команды подряд.

Файл исключений
Bash
1
2
3
4
$ cat backup_exclude.txt 
tmp
media
mnt
Скрипт для полного бекапа.
Bash
1
2
ARHIVE_PATH=/media/test/arhive/Images/00_Full
sudo tar --create --one-file-system --preserve-permissions --recursion --totals --wildcards --verbose --gzip --file=$ARHIVE_PATH/root.tgz --listed-incremental=$ARHIVE_PATH/root.snar --exclude-from=backup_exclude.txt /
По окончании работы созданы 2 файла.
Bash
1
2
3
4
5
6
$ ls -al 00_Full/
итого 1619628
drwxrwxr-x 2 test test       4096 окт 30 10:30 .
drwxrwxr-x 4 test test       4096 окт 30 10:59 ..
-rw-r--r-- 1 root root         35 окт 30 10:41 root.snar
-rw-r--r-- 1 root root 1658482463 окт 30 10:41 root.tgz
Копирую .snar-файл в каталог 01_Inc и запускаю скрипт для инкрементного бекапа
Bash
1
2
ARHIVE_PATH=/media/test/arhive/Images/01_Inc
sudo tar --create --one-file-system --preserve-permissions --recursion --totals --wildcards --verbose --gzip --file=$ARHIVE_PATH/root.tgz --listed-incremental=$ARHIVE_PATH/root.snar --exclude-from=backup_exclude.txt /
Получаю архив и измененый .snar-файл.
Bash
1
2
3
4
5
6
$ ls -al 01_Inc/
итого 1619616
drwxrwxr-x 2 test test       4096 окт 30 11:00 .
drwxrwxr-x 4 test test       4096 окт 30 10:59 ..
-rw-r--r-- 1 test test         36 окт 30 11:12 root.snar
-rw-r--r-- 1 root root 1658468681 окт 30 11:12 root.tgz
Однако размеры архивов, можно сказать, одинаковы. Где я ошибся?

ЗЫ. Версия tar
Bash
1
2
3
4
5
6
7
8
$ tar --version
tar (GNU tar) 1.28
Copyright (C) 2014 Free Software Foundation, Inc.
Лицензия GPLv3+: GNU GPL версии 3 или новее <http://gnu.org/licenses/gpl.html>
Это свободное ПО: вы можете продавать и распространять его.
Нет НИКАКИХ ГАРАНТИЙ до степени, разрешённой законом.
 
Авторы: John Gilmore и Jay Fenlason.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2019, 11:49
Ответы с готовыми решениями:

Архив. TAR
помогите, пожалуйста! мне нужно создать архив с помощью tar когда я пишу tar -cvf filename.tar /home/work/school у меня в архиве...

TAR архив
Добрый день! Как реализовать архивацию указанного каталога TAR-архивом? Добавлено через 3 минуты Извините забыл добавить написание...

Программно создать архив tar.gz
Допустим у меня есть файл или массив. Как мне из него сделать *.tar.gz в программе на с++? Какой то системный вызов? Добавлено через 1...

3
13 / 13 / 5
Регистрация: 06.04.2016
Сообщений: 180
30.10.2019, 18:14  [ТС]
Видимо, ошибся с веткой форума. Можно попросить перенести в
Форум программистов и сисадминов Киберфорум > Компьютерный форум > Linux > Shell, Bash
0
13 / 13 / 5
Регистрация: 06.04.2016
Сообщений: 180
31.10.2019, 11:39  [ТС]
Обнаружил, что опция --listed-incremental срабатывает если путь задан звездочкой (*), т.е. если его задать точкой (.) или точкой-слеш (./), опция не срабатывает. Однако, другая опция --one-file-system срабатывает если путь задан точкой (.) и не срабатывает если путь задан звездочкой (*).

Оформим ситуацию в виде таблицы.
Путь задан
Опция звездочкой (*) точкой (.)
--listed-incremental работает не работает
--one-file-system не работает работает

Можно ее преодолеть?
0
13 / 13 / 5
Регистрация: 06.04.2016
Сообщений: 180
01.11.2019, 13:56  [ТС]
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Все-таки, удалось заставить работать эту программу. Правда, пришлось пожертвовать опцией --wildcards . В следующей редакции работает, но файл исключений стал совсем не гибким.

Bash
1
2
3
4
5
6
7
8
9
10
11
sudo tar \
    --create \
    --one-file-system \
    --preserve-permissions \
    --verbose \
    --totals \
    --gzip \
    --file=$ARHIVE_DIR/root.tgz \
    --listed-incremental=$ARHIVE_DIR/root.sht \
    --exclude-from=$SCRIPT_DIR/backup_exclude.txt \
    /
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.11.2019, 13:56
Помогаю со студенческими работами здесь

Неудается распаковать архив tar
Всем, день добрый! Пытаюсь распаковать архив: tar xjf file.tar.bz2 Пишет: Невозможно write: No space left on device А места...

Архив *.tar с сохранением прав
Незнаю в какой раздел писать. Необходимо создать tar архив с сохранением прав файлов, на хостингах часто не выполняются php с правами 777....

Преобразование python файла в tar.gz архив
У меня есть python скрипт, из которого я бы хотел сделать package который можно установить на linux. Ничего по этому поводу не нашёл. Как...

Как создать архив .tar.gz текущего каталога?
Как создать архив .tar.gz текущего каталога? Например я нахожусь в каталоге user@dom ~/mydata В нем куча папок и файлов. Мне нужно...

Как создать архив (tar) подкаталогов, созданных в определенное время
Доброе время суток, коллеги! Помогите новичку. Есть каталог, с подкаталогами, сформированными по маске YYYYMMDD. Нужно сделать архив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru