Rsync имеет несколько флагов, которые управляют тем, на что он будет смотреть и что копирует в пункт назначения. Чаще всего используется флаг "-a", который является флагом "Архив", это, вероятно, то, что вы хотите. запустите rsync с флагами -av и сделайте первый запуск с данными, для которых вы хотите создать резервную копию. При следующем запуске он выполнит контрольную сумму файла и скопирует только те части, которые были изменены в существующих файлах, скопирует новые файлы и удалит файлы, которых больше нет. Проверьте раздел параметров "-a" на:
http://linux.die.net/man/1/rsync
Первый прогон будет интенсивно использовать BandWidth, следующие прогоны, скорее всего, будут интенсивно использовать процессор, но использовать небольшую пропускную способность по сравнению с первоначальным прогоном. Если у вас нет большого оттока по вашему набору данных.
Rsync не заботится о том, как вы получили файлы в исходных или целевых каталогах, они просто скопируют изменения между ними, если только вы не добавите флаги, чтобы сделать что-то другое.
Если вы хотите записать то, что было изменено, вы можете использовать опцию «--log-file». В целом что-то вроде этого звучит так, как вы хотите:
rsync -av --log-file=/var/log/rsync.log -e "ssh -l backup-user" backup-user@source-machine::module /nas01/backups
Если реальный вопрос «Я хочу делать инкрементные резервные копии поверх rsync», есть несколько доступных вариантов. Я использую Dirvish:
http://www.dirvish.org/
Восстановление легко, потому что он дает вам снимки: он использует жесткие ссылки, чтобы дать вам полные снимки, экономя место, где файл идентичен. Внутренне, он использует опцию --link-dest в rsync:
Поскольку он использует rsync, он также экономит пропускную способность сети (и, следовательно, время), когда изменения очень малы. Это также работает, если вы tar и sneakernet сначала создаете локальный образ dirvish, если у вас много файлов и медленная ссылка.
источник