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

Инкрементный бэкап с tar

06.12.2019, 10:37. Показов 2517. Ответов 5

Студворк — интернет-сервис помощи студентам
День добрый сотоварищи!)
Попробовал делать инкрементный бэкап с tar на debian, но что-то у меня не заладилось (до этого пробовал поставить fsbackup, которым пользовался, да и сейчас работает на одной машине с freeBSD, но во первых он давно не обновлялся, а во вторых и не встал...)
Так вот с tar что-то не выдалось. Перечитал много, и у всех инкремент работает, а у меня - ну не взирая ни на что, каждый день - полный архив. Сам скрипт, выполняется от рута в кроне
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
 
# Что будем копирова
DIR=/mnt/md1/pub
SERVERNAME=pub
 
# Папка, куда будем складывать архивы
BACKUP=/mnt/md0/253
 
# Файл с исключениями из резервной копии
EXCLUDE=$BACKUP/exclude.txt
 
# Получаем текущую дату
DATE=$(date +%Y-%m-%d_%H-%M-%S)
 
# Получаем номер дня недели
DAY=$(date +%u)
 
# Если воскресенье - удаляем файл
if [ "$DAY" = "7" ]; then
    rm -rf $BACKUP/OLD
    mkdir $BACKUP/OLD
    cp $BACKUP $BACKUP/OLD
    rm -rf $BACKUP/$SERVERNAME.snar
    rm -rf $BACKUP/*.tgz
fi
    
# Создаем архив
/bin/tar --create \
         --ignore-failed-read \
         --one-file-system \
         --recursion \
         --wildcards \
         --verbose \
         --gzip \
         --file=$BACKUP/$SERVERNAME.$DATE.tgz \
         --listed-incremental=$BACKUP/$SERVERNAME.snar \
         --exclude-from=$EXCLUDE \
         /mnt/md1/pub
Что-то я не пойму уже куда копать, pub.snar:

GNU tar-1.27.1-2
1575558480.160723553.

и каждый день полная копия идет.

разве только что потому что эта директория расшарена под самбой как сетевой ресурс?
Или может есть какие другие приличные варианты для инкрементного бэкапа?
С двух других серверов настроил бэкапы через rsync, но мне не нравится "обратная" инкрементность бэкапов, когда при восстановлении разворачивается последний поный бэкап и от него надо откатываться назад.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.12.2019, 10:37
Ответы с готовыми решениями:

Установка файлов tar.gz и tar.bz2
Всем привет! Не подскажите как установить файлы такого типа, месяц назад устанавливал как-то, больше не устанавливал и вот...

Установка tar и tar.bz2
Уважаемые форумчане! Всем доброго времени суток! Думаю этот вопрос уже поднимался, но я никак не могу понять инструкцию, а именно как...

Инкрементный патч
Здравствуйте, у меня версия ядра 3.2.68-1 решил применить инкрементный патч с сайта kernel.org версии 4.1.1.2 ввожу команду patch -p1 -i...

5
 Аватар для useroot
89 / 75 / 17
Регистрация: 18.08.2016
Сообщений: 341
06.12.2019, 14:45
А где вы указываете tar ключи?! Просто насколько я помню из (колбасных) обрезков. Tar нужно указать флаг: -g ну и стоит учитывать какая у вас файловая система, так-как tar работает c инодом файловой системы. К примеру, btrfs просто жесткий бдсм.
0
60 / 56 / 5
Регистрация: 17.08.2011
Сообщений: 244
06.12.2019, 15:03  [ТС]
g это и есть --listed-incremental (аналогично G это --incremental - старый вариант). Файловая система ext4. Debian 10. Да, еще - архивируемая папка на RAID1 (примонтирован в /mnt/md1)
Ну и проверил на локальной папке - самба ни при чем (думал уже может какой конфликт с временными метками итп, но нет)
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
06.12.2019, 16:56
ИМХО: что такое инкрементальный? Значит есть основной файл (первичный) и изменения к нему же. А у Вас каждый раз получается новый архив.
0
60 / 56 / 5
Регистрация: 17.08.2011
Сообщений: 244
06.12.2019, 17:57  [ТС]
пишу
--file=$BACKUP/$SERVERNAME.tgz \
--backup=numbered \
не помогает
пишу просто
--file=$BACKUP/$SERVERNAME.tgz \
естественно прошлый бэкап перезатирает новым, но снова полным

Добавлено через 40 минут
Ну и вот моё ИМХО - какая-то беда с созданием снимка - файл pub.snar с самого начала создается пустой
Цитата Сообщение от Alex_VP Посмотреть сообщение
GNU tar-1.27.1-2
1575558480.160723553.
это уж точно не снимок, а при пустом файле или его отсутствии идет полный бэкап
так как вся информация о предыдущем этапе должна быть именно в этом файле
А что за беда - никак не пойму
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
07.12.2019, 10:09
Возможно стоит рассмотреть опции?
-G, --incremental
Handle old GNU-format incremental backups.

--level=NUMBER
Set dump level for created listed-incremental archive. Currently only --level=0 is meaningful: it
instructs tar to truncate the snapshot file before dumping, thereby forcing a level 0 dump.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.12.2019, 10:09
Помогаю со студенческими работами здесь

Инкрементный поиск в DBGrid
Люди, подскажите пожалуйста, если кто знает, как сделать быстрый поиск в DBGrid, чтоб при наборе букв с клавиатуры сразу находилась нужная...

Перемещение по GRID (инкрементный поиск)
Есть ли стандартные средства, позволяющие , например, в Gride или COMBOBOX при наборе символов перемещаться на соответствующую запись, ...

Инкрементный вывод результатов деления в цикле
Нужно сделать инкрементный вывод результатов деления в цикле. Например 44:11=4 и нужно чтобы к делимому и делителю каждый раз...

Как реализовать полный, дифференциальный и инкрементный бекапы?
Кто может написать как реализовать: 1)Full backup 2)Differential backup 3)Incremental backup

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru