RSync это замена для старого rcp с помощью которого можно копировать файл между UNIX системами.RSync использует алгоритм отслеживающий изменения файла и копирует только необходимые части. Так же появилось множество новых возможностей, таких как работа через SSH или сжатие данных перед началом передачи. Я использую Rsync для синхронизации файлов между серверами, для этого можно использовать такие команды:
rsync -e ssh —progress -lzuogthvr —compress-level=9 —delete-after root@<IP или имя сервера>:/home/<USER> /home/
или
rsync -e ssh —progress -lzuogthvr —compress-level=9 —delete-after /home/<USER> root@<IP или имя сервера>:/home/
зависит от направления синхронизации.
Если вам нужно исключить какие-то файлы, вы можете использовать ключ —exclude
Ключи:
- e — заменяет протокол с rsh на ssh
- progress — вывод хода процесса работы на терминал
- l — пересоздание symlinks, это значит, что символические ссылки будут так же переноситься
- z — использовать сжатие
- u — update. Обновление, он будет пропускать файлы которые новей, чем на удалённом сервере
- o — установить владельца конечного файла таким же, как и у исходного
- g — установить группу конечного файла таким же, как и у исходного
- t — передача времени модификации и его обновление на удаленной системе. Этот ключ должен быть установлен для точной синхронизации
- h — вывод информации на терминал в удобном для чтения (human-readable) виде
- v — verbose. Вывод сообщений в терминал.
- r — рекурсивный режим
- n — отладочный режим
- compress-level — уровень сжатия
- delete-after — удалять файлы, которые не были найдены на удалённом сервере, “-after” означает, что удалить их нужно, только после окончания синхронизации. Так-же есть delete-before, delete-during, delete-excluded и просто delete
P.S. Не забудте организовать без парольный доступ между серверами по SSH.