Синхронизация файлов с помощью rsync

rsyncЕсли имеется доступ по ssh к серверу, это наиболее простой способ для осуществления синхронизации.

Rsync по ssh – это частный случай использования, общий вид команды выглядит так:

rsync [ОПЦИИ] [ПОЛЬЗОВАТЕЛЬ@]СЕРВЕР:ИСТОЧНИК... [ПОЛУЧАТЕЛЬ]

копирование файлов с удаленной системы на локальную

rsync [ОПЦИИ] ИСТОЧНИК 1 [ИСТОЧНИК N] [ПОЛЬЗОВАТЕЛЬ@]СЕРВЕР:ПОЛУЧАТЕЛЬ

копирование файлов с локальной машины на удаленную

Обязательным параметром является “ИСТОЧНИК”, их может быть несколько.

Основные ключи:

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

Примеры:

# rsync -zavP /backup/file1/ /backup/file2/ user@192.168.0.1:/backup

Скопируется на сервер 192.168.0.1 содержимое папок /backup/file1/ /backup/file2/ в папку backup

# rsync -zavP /backup/file1 /backup/file2 user@192.168.0.1:/backup

В этом примере уже скопируются сами папки
Как ограничить скорость передачи файлов? Нужно поставить опцию –bwlimit :

# rsync -zavP --bwlimit=100 /backup/file1/ user@192.168.0.1:/backup

Как синхронизировать файлы с проверкой по контрольной сумме?

# rsync -сzavP /backup/file1/ user@192.168.0.1:/backup

Как скопировать файлы с удаленной машины на локальную?

# rsync -zavP user@192.168.0.1:/backup /backup/file1/

Как исключить файл или директорию при копировании?

# rsync -azVP --exclude /temp/ /home/data/ user@192.168.0.1:/backup

Исключаем директорию /temp

# rsync -zavP '-e ssh -p 12345' /var/lib/ root@192.168.0.1:/backup

Как использовать нестандартный порт ssh при копировании rsync


Добавить комментарий

Ваш адрес email не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2022

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!