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 [email protected]:/что /куда

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

Поделиться