Назад | Перейти на главную страницу

Rsync - вывод результата инкрементного резервного копирования в другую папку?

Я новичок в системе Unix, поэтому, пожалуйста, потерпите, если это звучит глупо.

Самый распространенный способ использования rsync для инкрементного резервного копирования - это сделать так

rsync -av --delete <source> <destination>

Есть ли способ сделать это таким образом, чтобы вы сравнивали каталог1 с каталогом2, но затем сохраняли результат в каталоге3?

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

Итак, если у меня есть эти папки и сегодня 20130103,

/folder/to/back/up <-- source
/backup/base <-- base
/backup/20130101 <-- incremental
/backup/20130102 <-- incremental

Я хочу сравнить /folder/to/back/up с участием /backup/base и сохраните результат в новой папке, /backup/20130103.

Похоже, ты действительно хочешь rsnapshot, который является оболочкой для rsync и пары других инструментов. Он автоматизирует создание структуры инкрементного резервного копирования, которая очень близка к тому, что вам нужно.

В флаги rsync смотреть на

--compare-dest=DIR      also compare received files relative to DIR
--copy-dest=DIR         ... and include copies of unchanged files
--link-dest=DIR         hardlink to files in DIR when unchanged

Например:

rsync -aP --link-dest = PATHTO / $ PREVIOUSBACKUP $ SOURCE $ CURRENTBACKUP

Основной принцип этой статьи («Машина времени для всех существующих Unix») был реализован множеством разных способов в разных программах, и rsnapshot - еще одна из них.

Дирвиш заслуживает особого упоминания (исходный автор внес --link-dest патч к rsync); это система резервного копирования Perl, использующая rsync и жесткие ссылки (аналогичные rsnapshot) с папками назначения с меткой даты, переменными правилами истечения срока действия, правилами исключения и т. д .; поскольку он использует жесткие ссылки, каждая резервная копия появляется в файловой системе как «полная резервная копия», но копируются только «инкрементные» изменения.

Если у вас есть (или вы можете установить) Perl, я настоятельно рекомендую Dirvish для того, что вы хотите.