38 lines
3.0 KiB
Markdown
Raw Normal View History

# rsync
> Передавать файлы на удалённый хост или с него (но не между двумя удалёнными хостами), по умолчанию используя SSH.
> Для указания удалённого пути используйте `пользователь@хост:путь/к/файлу_или_директории`.
> Больше информации: <https://download.samba.org/pub/rsync/rsync.1>.
- Передать файл (используйте `--dry-run` для симуляции передачи):
`rsync {{путь/к/источнику}} {{путь/к/назначению}}`
- Использовать режим архивирования (рекурсивно копировать директории, копировать символические ссылки как есть, сохранять права доступа, владельцев и время модификации):
`rsync {{[-a|--archive]}} {{путь/к/источнику}} {{путь/к/назначению}}`
- Передать данные со сжатием, выводя подробный прогресс в удобном формате и сохраняя частично переданные файлы при прерывании:
`rsync {{[-zvhP|--compress --verbose --human-readable --partial --progress]}} {{путь/к/источнику}} {{путь/к/назначению}}`
- Рекурсивно скопировать директории и принудительно записывать каждый файл на диск (вместо кеширования в оперативной памяти):
`rsync {{[-r|--recursive]}} --fsync {{путь/к/источнику}} {{путь/к/назначению}}`
- Передать содержимое директории, но не саму директорию:
`rsync {{[-r|--recursive]}} {{путь/к/источнику}}/ {{путь/к/назначению}}`
- Использовать режим архивирования, разрешать символические ссылки (копировать содержимое) и пропускать файлы, которые новее в месте назначения:
`rsync {{[-auL|--archive --update --copy-links]}} {{путь/к/источнику}} {{путь/к/назначению}}`
- Передать директорию с удалённого хоста, на котором запущен `rsyncd`, и удалить в месте назначения файлы, которых нет в источнике:
`rsync {{[-r|--recursive]}} --delete rsync://{{хост}}:{{путь/к/источнику}} {{путь/к/назначению}}`
- Передать файл через SSH, используя порт, отличный от стандартного (22), и показать общий прогресс:
`rsync {{[-e|--rsh]}} 'ssh -p {{порт}}' --info=progress2 {{хост}}:{{путь/к/источнику}} {{путь/к/назначению}}`