[[ rsnapshot - инкрементальные бекапы файловой системы ]]

rsnapshot - инкрементальные бекапы файловой системы

rsnapshot – Базирующаяся на rsync утилита на Perl для создания резервных копий. Особенностью является ориентация на создания полных снапшотов файловой системы через заданный интервал времени, для экономии места на диске, не изменившиеся с момента первого бэкапа файлы линкуются как hard link.

Установка

В Gentoo Linux для установки следует выполнить:

emerge app-backup/rsnapshot

Для установки в CentOS:

yum install rsnapshot

Настройка

Создание директории где будут храниться «снимки»:

mkdir /var/snapshots

Необходимо скопировать шаблонную конфигурацию:

cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf

Файл конфигурации:

/etc/rsnapshot.conf

## Помните, что в конфигурационном файле недопустимы пробелы — используйте только табы.
 
## Директирия где будут находиться снимки
snapshot_root /var/snapshots/
 
## Для Linux систем необходимо разкомментировать сточку:
cmd_cp          /bin/cp
 
## Интервалы создания снимков. 
# Указывает тип снимка и сколько копий хранить
interval        hourly  6
interval        daily   7
interval        weekly  4
# будет храниться 6 ежечасных, 7 ежедневных и 4 еженедельных
 
## Настройка данных для архивации
# формат: цель для архивации | куда сохранять снимок (внутри папки snapshot_root)
# !!!ВАЖНО!!! указание завершающих слешей "/" в названии папок обязательно
backup  /home/          localhost/
backup  /etc/           localhost/
 
## Задание файлов исключений
exclude		*.tmp
exclude		~*
exclude		.git/

После изменения настроек следует выполнить их проверку:

rsnapshot configtest

Запуск в проверочном режиме (только вывод команд без их выполнения):

rsnapshot -t hourly

Создание первого архива:

rsnapshot hourly

Просмотр сколько места занимают резервные копии:

rsnapshot du

Для автоматического создания архивов нужно добавить выполнение в крон:

/etc/cron.d/rsnapshot

0 */4 * * *     root /usr/bin/rsnapshot hourly
30 3 * * *      root /usr/bin/rsnapshot daily
0 3 * * 1       root /usr/bin/rsnapshot weekly
30 2 1 * *      root /usr/bin/rsnapshot monthly

Из файла крона нужно удалить те строчки заданий чьи интервалы не заданы в конфиге. Если вы не задали interval hourly то удалите строчку с /usr/bin/rsnapshot hourly, иначе rsnapshot выдаст ошибку.

Обсуждение

ganzzz, 2010/09/22 11:09

А как восстонавливать?

Konstantin vzOne Enchant, 2010/09/22 11:28

Вручную можно восстанавливать так:

В папке бекапа создаются папки типа day.0, day.1 и т.п. соответствующие периоду архивации. Можно напрямую копировать их содержимое (полностью или частично) обратно в точку восстановления, например с помощью rsync.

ganzzz, 2010/09/22 11:47

Спасибо! Писал скрипт, и где-то протупил, вместо удаления файлов из временной папки она начал удалять файлы из корня(, пол ночи возился восстонавливая файлы с диска remastersys месячной давности… и решил подстраховаться на следуйший раз)))

Михаил, 2015/03/05 13:50

А кто-нибудь может подскажет? Вот я запускаю вручную режим daily. Первично запустил, создалась папка на 7Гб, изменил 1 мелкий файл, еще раз запустил. Создалась еще одна папка на 190Мб. Ничего не менял, еще раз запустил, создалась еще одна папка тоже примерно на 190Мб. По какой логике и какие файлы лежат вот в этих папках?

Денис, 2016/04/26 17:04

Михаил, если права меняются то файлы он тоже качает.

Dmitry, 2016/07/30 12:08

А как настроить конфиг программы, что бы она автоматом удаляла самые старые версии снимков при переполнении диска?

alex, 2016/12/04 14:17

# будет храниться 6 ежечасных, 7 ежедневных и 4 еженедельных

Егор, 2017/03/08 20:59

Спасибо за статью - настроил все работает отлично!

Почему-то не работают команды: # rsnapshot daily # rsnapshot weekly # rsnapshot monthly

# rsnapshot -t monthly echo 3129 > /var/run/rsnapshot.pid /media/HDD1000/backup-shared/weekly.3 not present (yet), nothing to copy

# rsnapshot hourly - стартует без проблем и создает резервную копию Что делаю не так??

Ваш комментарий. Вики-синтаксис разрешён:
158 -12 = 
 
tools/archiving/rsnapshot.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki