rsync
7 commands
7 shown
Полная копия для миграции
Сохраняет жёсткие ссылки, ACL, xattr и сырые uid/gid при миграции; учтите: завершающий слэш важен
rsync -aHAXv --numeric-ids /src/ user@<host>:/dst/
Пробный прогон с расшифровкой
Показывает все изменения кодами (>f, cd, *deleting) до фактического копирования файлов
rsync -ai --dry-run --delete /src/ /dst/
Передача с лимитом скорости
Ограничивает полосу до 10 МБ/с, чтобы не забить канал; progress2 даёт общий прогресс и ETA
rsync -a --bwlimit=10M --info=progress2 /src/ user@<host>:/dst/
Инкрементные снимки через хардлинки
Бэкап в стиле Time Machine: неизменные файлы — хардлинки на prev, место занимают только дельты
rsync -a --delete --link-dest=../prev /src/ ./$(date +%F)/
Возобновление передачи больших файлов
Возобновляет прерванную передачу и проверяет дописанную часть по контрольной сумме; безопасно лишь при неизменном источнике
rsync -a --partial --append-verify --info=progress2 big.img user@<host>:/dst/
Нестандартный порт SSH и исключения
Идёт через нестандартный порт SSH и пропускает пути из excludes.txt (.git, node_modules, *.tmp)
rsync -a -e "ssh -p 2222" --exclude-from=excludes.txt /src/ user@<host>:/dst/
Синхронизация по контрольным суммам
Сравнивает по контрольной сумме, а не mtime+размер; delete-after удаляет лишь после успешной передачи
rsync -ac --delete-after /src/ /dst/
no commands match