Skip to content

Rsync

Примеры

rsync --progress -av <каталог-источник> <каталог-назначения/>
rsync --progress -av <каталог-источник/> <каталог-назначения/>

Роль завершающих слешей / заключается в том - копировать или нет, корневую папку <каталог-источник> внутри <каталога-назначения>. Без слеша она будет скопирована.

rsync --progress -av ~/data1/ ~/data2/

Если порт ssh не стандартный

rsync --progress -avz -e 'ssh -p 1022' ~/data1/ user@example.org:/home/user/data1/

Для исключения некоторых файлов

rsync --progress -avz ~/data1/ --exclude="tmp/*" --exclude="*~" user@example.org:/home/user/data1/

Для того, что бы не учитывать права пользователя и группу

rsync --progress -rvz --no-p --no-o --no-g ~/data1/ user@example.org:/home/user/data1/

Для копирования больших файлов и продолжения процесса их в случае обрыва есть ключи --partial -P и --append-verify

Ключи

  • -a, --archive - архивный режим, включает ключи (ключи rlptgoD)
  • -r, --recursive - рекурсивный режим
  • -l, --links - копирует симлинки
  • -p - сохранять права
  • -t, --times - обновлять время модификации файлов
  • -g, --group - обновлять группу файлов
  • -o, --owner - обновлять владельца файлов
  • -D - устанавливает владельца файлов на устройства
  • -R - использовать относительные пути при создании символических ссылок
  • -v - чем больше -v тем подробнее вывод операций
  • --progress - показывать прогресс копирования (удобно при копировании больших файлов)
  • --partial - будет оставлять даже не полностью скопированные файлы
  • --append-verify - если файл уже есть, будет проверить, возможно он не полностью скопирован, будет копировать остаток
  • --stats - вывести статистику по завершению
  • --del - аналог --delete-during
  • --delete - просто удаляет файлы на целевом сервере (получатеть)
  • --delete-before - удаляет файлы на целевом сервере до передачи данных
  • --delete-during - удаляет файлы на целевом сервере в процессе передачи данных
  • --delete-delay - удаляет файлы на целевом сервере после процесса передачи данных но находит их в процессе
  • --delete-after - удаляет файлы на целевом сервере после процесса передачи данных
  • --delete-excluded - удалит исключённые файлы ны целевом сервере, задается шаблон --exclude=PATTERN
  • --remove-source-files - удаляет переданные файлы из источника (не каталоги)
  • --u, --update - если на целевом сервере файл новее то не копирует
  • -c, --checksum - сверка по контрольным суммам (не по времени изменения и размеру)
  • --size-only - использование для сверки только размер файлов
  • -z - компрессия данных
  • --compress-level=9 - компрессия данных с уровнем 9
  • --numeric-ids - не транслировать имена владельца и группы в цифровые UID и GID, оставить на удалённой стороне номера как есть
  • --bwlimit=KBPS - ограничение пропускной способности (Kbit/s) для слабых каналов
  • --ignore-errors - игнорировать ошибки
  • -h - вывод результатов с человеко-читаемом формате
  • -A, --acls - сохранение списков ACL
  • -H, --hard-links - сохранение жестких ссылок
  • -S, --sparse - оптимизировать разреженные файлы
  • -x, --one-file-system - не выходить за пределы текущей точки монтирования

Денис Валентинович