1

Как мне написать скрипт, который создает инкрементные резервные копии, используя rsync, или каковы параметры для инкрементного резервного копирования?

Вот сценарий:

У меня есть файловый сервер samba, и мне нужно сделать резервную копию на внешний диск usb любых изменений или дополнительных файлов, созданных в определенной папке samba. Расположение файлов, которые мне нужны для резервного копирования (/opt/Resources и /opt/Resources Shared Folder 2) и место назначения (/media /disk /Resources Files Backup).

Я попытался создать файл (zipfiletest) в /opt /Resources и вручную запустил rsync, чтобы посмотреть, передается ли файл на внешний жесткий диск USB, похоже, он работает, но я не знаю, как это сделать автоматически, если есть новый файл, созданный или измененный из источника samba.

[root@fileserver Resources]# rsync -azv /opt/Resources/zipfiletest /media/disk/Resources\ Files\ Backup01292013/Resources
sending incremental file list
zipfiletest/

sent 47 bytes  received 16 bytes  126.00 bytes/sec
total size is 0  speedup is 0.00

3 ответа3

1

rsync может создавать жесткие ссылки на файлы в другом каталоге. Поэтому, когда вы делаете резервную копию в каталоге, содержащем текущую дату в своем имени, вы можете передать аргумент --link-dest, указывающий на предыдущую резервную копию. В результате у вас будет две одинаковые (если не было изменений между резервными копиями) директории, которые занимают место только для одной.

Другое решение называется rdiff-backup. Он использует протокол rsync и обрабатывает инкрементные для вас. Он использует некоторые дополнительные файлы для хранения diff для более старых версий (без жестких ссылок). Я использую его, и он работает хорошо, но когда дело доходит до восстановления старых версий, это медленно.

0

С http://rdiff-backup.nongnu.org/

Удаленное инкрементное резервное копирование всех ваших файлов может быть так же просто, как "rdiff-backup / host.net::/target-dir"[disclaimer] Что это?

rdiff-backup выполняет резервное копирование одного каталога в другой, возможно, по сети. Целевой каталог заканчивается копией исходного каталога, но дополнительные обратные различия хранятся в специальном подкаталоге этого целевого каталога, поэтому вы все еще можете восстановить файлы, потерянные некоторое время назад. Идея состоит в том, чтобы объединить лучшие функции зеркала и инкрементного резервного копирования. rdiff-backup также сохраняет подкаталоги, жесткие ссылки, файлы dev, разрешения, владение uid / gid, время модификации, расширенные атрибуты, acls и вилки ресурсов. Кроме того, rdiff-backup может работать в полосе пропускания по каналу, например, rsync. Таким образом, вы можете использовать rdiff-backup и ssh для безопасного резервного копирования жесткого диска в удаленное место, и будут передаваться только различия. Наконец, rdiff-backup прост в использовании, а настройки имеют чувственные значения по умолчанию.

0

Вот как я решил свой вопрос.

С файлового сервера Samba:

Источник:

/opt/Resources
/opt/Resources Shared Folder 2

Место назначения:

/media/disk/Resources Files Backup/Resources
/media/disk/Resources Files Backup/Resources Shared Folder 2

Автор сценария:

backup.sh

rsync -azv /opt/{Resources,Resources\ Shared\ Folder\ 2/} /media/disk/Resources\ Files\ Backup/Resources/

Расположение скрипта резервного копирования:

/usr/local/bin

crontab работает в полночь каждого дня

0 0 * * * /usr/local/bin/backup.sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .