Rsync - шпаргалка

  • Михаил
  • 12 мин. на прочтение
  • 94
  • 04 Feb 2018
  • 04 Feb 2018

rsync — программа для UNIX-подобных систем, которая выполняет эффективно синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости.

Команды rsync
rsync -avr /source/folder /target/folder - создаст папку folder в папку folder c содержимым

rsync -avr /source/folder/ /target/folder - скопирует содержимое папки folder в папку folder

-a attributes, timestamp, filepermissions
-v visual verbose
-r recursive
-m без пустых папок

При повторном запуске будет скопировано только то, что было изменено, а не полное копирование. (инкрементально)

Если в  /source/folder удалить файл, то он его не затрёт в /target/folder.

rsync -avr /source/folder/ /target/folder --delete - будет также синхронить удаление файлов/папок

rsync -avr --include ’*/’ --include ‘*.mp3’ --exclude ‘*’ /source/folder/ /target/folder - засинхронит папки с мп3 и просто мп3, остальное нет

rsync -avr --delete-excluded --include ’*/’ --include ‘*.mp3’ --exclude ‘*’ /source/folder/ /target/folder - удалит всё несоответствующее include

Пример копирования с удаленного хоста:

rsync -v -ПАРОЛЬ --delete --delete-during USERNAME@HOSTNAME:/что /куда

-v покажет ход выполнения
--delete удалит файлы у получателя, если они были удалены в источнике
--delete-during хост-получатель удалит по ходу копирования то, что было удалено в источнике
/что скопирует с удаленного хоста
/куда скопирует на локальный хост