Пример работы с rsync

rsync — утилита, для синхронизации директорий и файлов между серверами с помощью SSH.

Пример синхронизации с каталога dir1 в dir2:

rsync -progtv dir1/ dir2/

Где:

  • -p — сохранение прав;
  • -r — рекурсивно;
  • -o — сохранить владельца (только под root);
  • -g — сохранить группу;
  • -t — сохранить дату изменения;
  • -v — больше отладочной информации;

Синхронизация локального каталога с удалённым

rsync -ave 'ssh -p 2222' 1.2.3.4:/home/username/ /home/username/

В данном примере мы указываем ключ a для архивации данных во время передачи и ключ e для передачи по SSH с указанием нужного порта, в данном случае это 2222.

Если нужно видеть прогресс передачи файлов — добавим опцию —progress :

rsync --progress -ave 'ssh -p 2222' 123.123.123.123:/home/username/ /home/username/

Стоит отметить, если синхронизация идёт между серверами — на удалённом сервере так же должен быть установлен rsync.

Для простой передачи файлов с локальной папки на удалённый сервер используем команду:

rsync -avz ./local_dir root@123.123.123.123:/home/username/dir

Наведём несколько примеров использования утилиты rsync.
Синхронизация директорий dir1 в dir2:

rsync -vur /path/to/dir1 /path/to/dir2

Данным способом будут синхронизированы директории, но при этом удаляются файлы из dir2, которые исчезли из dir1.

rsync -vurtm --delete --progress /path/to/dir1 /path/to/dir2

Архивация директории выполняется следующей командой:

rsync -avzur --delete --progress /path/to/dir1 /path/to/dir2

Выполняем копирование через SSH с сервера my.server.com из папки /path/to/dir в текущую директорию.

rsync --progress -v -e ssh root@my.server.com:/path/to/dir/* ./

Выполняем копирование через SSH на сервер my.server.com в папку /path/to/dir/ из текущей директории.

rsync --progress -v -e ssh ./ root@my.server.com:/path/to/dir/*

Синхронизация директорий с ограничением скорости, указывается через параметр bwlimit в Kb/sec:

rsync -p -r -d -u -l -o -g -t -X --numeric-ids --delete --progress --bwlimit=3000 /dir1 /dir2

Чтобы подробнее узнать про rsync используйте команду:

rsync --help

Оставить комментарий

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