rsync — инструмент для резервного копирования и синхронизации данных между серверами. Работает и на MacOS, так что можно бекапить прямо на домашний компьютер.
Базовый синтаксис
Команда имеет простую структуру: rsync SRC DEST, где SRC — исходная папка, DEST — целевая.
Пример для локального копирования с исключением системных папок:
sudo rsync --archive root@:/* --exclude={"/tmp/","/sys/","/proc/","/dev/","/mnt/"} .
Основные флаги
-a — рекурсивное копирование с сохранением прав и метаданных. -z — сжатие данных для уменьшения трафика. -v — вывод результатов в консоль. -P — отображение прогресса и возобновление прерванной передачи. -h — конверсия байтов в МБ/ГБ для читаемого вывода.
Самый частый кейс
Синхронизация с рекурсией, сжатием и выводом прогресса:
rsync -azPh SRC DEST
Удалённая синхронизация между серверами
Синхронизация директории с удалённого сервера в локальную папку для резервного копирования:
rsync -az root@180.0.0.1:/var/www/ /rbackup
Запуск как демон
Для постоянной синхронизации rsync можно запустить в режиме демона. Конфигурация находится в /etc/rsyncd.conf:
rsync --daemon