Синхронизация файлов с помощью 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


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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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

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

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