[[ rsync - синхронизация файлов ]]

rsync - синхронизация файлов

rsync – удобная утилита для синхронизации файлов или директорий. Передавать файлы можно поверх ssh. При синхронизации пересылаются только изменения, что способствует минимизации трафика.

Примеры применения

Скопировать полностью структуру фалов и папок из /home/data1/ в /home/other/data2/:

rsync -av /home/data1/ /home/other/data2/

Наличие завершающих слешей в /home/data1/ файла обязательно, иначе результат копирования будет выглядеть так:

/home/other/data2/data1/

Выполнить копирование на удалённую систему по ssh:

rsync -rvz /home/data1/ user@server.com:/home/data1/

Задать альтернативный порт ssh:

rsync -rvz -e 'ssh -p 10022' /home/data1/ user@server.com:/home/data1/

Исключить некоторые файлы:

rsync -rvz /home/data1/ --exclude="tmp/*" --exclude="*~" user@server.com:/home/data1/

Не учитывать пользователя, группу и права при передаче:

 rsync -rvz --no-p --no-o --no-g /home/data1/ user@server.com:/home/data1/

Описание опций

  • -a, --archive – архивный режим, включает рекурсивное копирование и сохранение прав и владельца (ключи rlptgoD)
  • -t, --times – обновлять время модификации файла на приёмной стороне. При отсутствии этой опции или -a становиться неэффективной оптимизация передачи по времени изменения файлов
  • -c, --checksum – использование сверки по контрольным суммам, а не по времени изменения и размеру
  • --size-only – использование для сверки только размер файлов
  • -r – рекурсивный режим (копирование всех подпапок и файлов в них)
  • -v – подробные вывод операций
  • -z – компрессия данных при передаче
  • -p – сохранять права
  • --del – удалить файлы в папке назначения которых нет в источнике (точная копия)
  • -R – использовать относительные пути при создании символических ссылок
  • --numeric-ids – не транслировать имена владельца и группы в цифровые UID и GID, оставить на удалённой стороне номера как есть
  • --bwlimit=KBPS – ограничение пропускной способности, чтобы не забивать канал (Kbit/s)
  • --ignore-errors – продолжать копирование и удаление после появления ошибок
  • -h – вывод результатов с человеко-читаемом формате
  • -A, --acls – сохранение списков ACL
  • -H, --hard-links – сохранение жестких ссылок
  • -S, --sparse – оптимизировать разреженные файлы
  • -x, --one-file-system – не выходить за пределы текущей точки монтирования

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
212 +13 =
 
tools/console/rsync.txt · Последнее изменение: 2022/08/31 14:53 — 127.0.0.1
Gentoo Linux Gentoo Linux Driven by DokuWiki