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