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
- не выходить за пределы текущей точки монтирования
Денис Валентинович