Самый эффективный способ резервного копирования / синхронизации больших каталогов через SSH

Я ищу для резервного копирования некоторых больших каталогов на выделенном сервере на другой сервер на ежедневной основе с использованием минимальной полосы пропускания

RSync выглядит как задача, но я не уверен в лучших командных переключателях

Я хотел бы сделать несколько выбранных каталогов в один «резервный» каталог на другой машине через SSH

Есть идеи?

Я хотел бы добавить, что вы должны использовать --numeric-ids для сохранения uids / gids ваших файлов, чтобы они не перенаправлялись локальным пользователям.

Если вы собираетесь хранить исторические резервные копии (например, YYYY-MM-DD daliy directories), опция --link-dest=DIR будет очень --link-dest=DIR .

В случае, если ваши данные могут быть эффективно сжаты (исходный код, файлы открытого текста, журналы), он -z может быть весьма удобным.

В противном случае -aH будет покрывать большинство ваших потребностей.

Попробуйте сделать это (с сервера резервного копирования):

 rsync \ -a \ --bwlimit=100 \ remote-server:"/path1 /path2 /path3" /local/backup_$(date +%Y%m%d_%H:%M) 

--bwlimit=100 означает все --bwlimit=100 / sec

Вы можете использовать жесткие ссылки cp -al между днями, таким образом вы можете сэкономить много места на диске и rsync только смените файлы!

Вот как rsnapshot проект rsnapshot .

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

Что касается упоминания о крепких ссылках, вы также можете быть заинтересованы в fdupes .

Rsync – это действительно инструмент низкого уровня для обработки этого. Вместо того, чтобы беспокоиться о параметрах rsync, используйте специальные средства резервного копирования, их много. Rsnapshot – это популярный выбор, чтобы узнать, соответствуют ли ваши требования (которые вы не очень четко обсуждаете ). Duplicity – это еще один инструмент резервного копирования, основанный на библиотеке rsync.