amanda
, bacula
, BackupPC
. Это клиент-серверные системы, имеющие много опций, настройка которых довольно сложна. Некоторые из них предоставляют дружественный веб-интерфейс, чтобы компенсировать это. Но в Debian есть десятки других программ для резервного копирования на все возможные случаи, в чём можно легко убедиться с помощью apt-cache search backup
.
rsync
ежедневно используется для резервного копирования этих серверов.
rsync
предшествует дублирование содержимого предыдущей резервной копии с помощью жёстких ссылок, что предупреждает использование слишком большого дискового пространства. Процесс rsync
затем заменяет только те файлы, которые были изменены с момента создания предыдущей копии. С помощью этого механизма огромное число резервных копий можно хранить на небольшом пространстве. Поскольку все резервные копии немедленно становятся доступными (например в разных каталогах на сетевом ресурсе), можно быстро выполнять сравнения между двумя заданными датами.
dirvish
. Она использует хранилище резервных копий («bank» — «банк» — в её терминологии), в котором размещает копии наборов файлов резервных копий с временными метками (в документации dirvish эти наборы называются «vaults» — «подвалы»).
/etc/dirvish/master.conf
. Он определяет местоположение пространства для резервных копий, список управляемых «подвалов» и значения сроков хранения резервных копий по умолчанию. Остальные настройки находятся в файлах bank/vault/dirvish/default.conf
и содержат конфигурацию соответствующего набора файлов.
Пример 9.3. Файл /etc/dirvish/master.conf
bank: /backup exclude: lost+found/ core *~ Runall: root 22:00 expire-default: +15 days expire-rule: # MIN HR DOM MON DOW STRFTIME_FMT * * * * 1 +3 months * * 1-7 * 1 +1 year * * 1-7 1,4,7,10 1
bank
указывается каталог, в котором хранятся резервные копии. Настройка exclude
позволяет указать файлы (или типы файлов), которые не должны включаться в резервную копию. Runall
— это список наборов файлов для резервного копирования с временной меткой для каждого набора, что позволяет установить корректную дату копии, если резервное копирование ну запускается периодически в определённое время. Нужно указать время, непосредственно предшествующее времени запуска (по умолчанию в Debian это 22:04, в соответствии с файлом /etc/cron.d/dirvish
). Наконец, настройки expire-default
и expire-rule
определяют политику хранения резервных копий. В приведённом выше примере резервные копии, созданные в первое воскресенье каждого квартала, хранятся вечно, созданные в первое воскресенье каждого месяца — удаляются через год, а созданные в другие воскресенья — через 3 месяца. Прочие ежедневные резервные копии хранятся 15 дней. Порядок правил имеет значение: Dirvish применяет последнее подходящее правило или expire-default
, если ни одно из других правил expire-rule
не подходит.
Пример 9.4. Файл /backup/root/dirvish/default.conf
client: rivendell.falcot.com tree: / xdev: 1 index: gzip image-default: %Y%m%d exclude: /var/cache/apt/archives/*.deb /var/cache/man/** /tmp/** /var/tmp/** *.bak
hostname
), а именно файлы корневого каталога (tree: /
) за исключением тех, которые перечислены в exclude
. Резервная копия будет ограничена содержимым одной файловой системы (xdev: 1
). В неё не войдут файлы из других точек монтирования. Будет создан индекс сохранённых файлов (index: gzip
), и имя образа будет соответствовать текущей дате (image-default: %Y%m%d
).
dirvish --vault vault --init
.После этого при ежедневном вызове dirvish-runall
будет автоматически создаваться новая резервная копия после удаления устаревшей.