rsync - Синхронизация файлов по SSH

08.01.2015

Утилита rsync используется для синхронизации файлов и директорий как на локальных машинах так и на удалённых.

С её помощью можно скопировать папки на другой сервер с минимальным использованием трафика.

Для резервного копирования локально можно сделать так:
# rsync -a /var/ /var_bak/
удалённо
# rsync -axzvP /var/user/ user@server:/backup/user/


Основные опции утилиты rsync:
-a,  режим архивирования, включает ключи -rlptgoD; -r,  каталоги копируются рекурсивно; -l,  копировать символические ссылки «как есть», не обращаясь к файлам; -p,  сохранение прав доступа к файлам; -t,  сохранение времени модификации файлов; -g, -o, сохранение владельца и группы файла; -D,  сохранение файлов устройств и специальных файлов; -u,  режим обновления, пропускаются файлы с поздней датой модиф.; -v,  выводит имена копируемых файлов; -q,  не выводит сообщения об ошибках; -z,  включение режим сжатия; -P,  отображение прогресса при копировании; -с,  проверка файлов по контрольной сумме, по размеру и дате модификации; --ignore-errors,  продолжение копирования и удаления даже после появления ошибок; --max-delete,  максимальное число удаляемых за один раз файлов и каталогов; --files-from=FILE,  задается список файлов и директорий для копирования в файле; -e ssh,  использование при копировании ssh; --bwlimit=KBPS,  ограничение скорости копирования.

PS:
Если возникнет ошибка вида
bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(601) [sender=3.0.7]


то необходимо установить rsync на той машине, где она не установлена:
Debian:
# aptitude install rsync
CentOS:
# yum install rsync
Рейтинг: