Утилита Rsync
Об утилите
Утилита rsync — это утилита для быстрого копирования файлов с локального компьютера на удалённый или наоборот.
Установить её можете из стандартных репозиториев:
# apt install rsync
Получить справку по этой утилите можно здесь , или выполнив команду:
# man rsync
В качестве транспорта может использовать протокол SSH. И, настроив подключение с одного сервера на другой по ssh-ключам, вы можете использовать rsync в скриптах которые выполняются по расписанию.
Синтаксис команды:
# rsync [option] /src/... /dst/...
А при использовании ssh синтаксис будет следующим:
# rsync [option] -e ssh /src/... <user>@<host>:/dst/...
Опции и примеры использования
Рассмотрим некоторые опции которые имеет утилита rsync:
--timeout <N>— оборвать выполнение команды, если I/O не будет отвечать указанное количество секунд;--bwlimit <RATE>— установить лимит скорости передачи в килобитах;--remove-source-files— удалить файлы на источнике после их передачи;-W— отключить алгоритм delta-transfer, это рекомендуют применять когда скорость сети между компьютерами выше, чем пропускная способность диска;-q— уменьшить выводимую информацию;-v— сделать выводимую информацию более подробной;--progress— показать прогресс передачи файлов;-z— использовать сжатие;-h— выводить числа в удобном для человека формате;-e— указать с помощью чего подключаться к удалённому хосту, например-e 'ssh -p 2234'.
Пример использования:
# rsync --timeout 5 --bwlimit 25000 \
--remove-source-files -W -q -e ssh \
/dump1c/ut.dump.gz \
root@192.168.0.12:/storage/pg_store
- Я копирую дамп базы /dump1c/ut.dump.gz на удалённый сервер root@192.168.0.12 :/storage/pg_store.
- Для передачи использую ssh.
- Указал timeout равным 5 секундам, и если удалённый сервер не ответит, то передача оборвётся.
- Ещё указал лимит скорости в 25000, это примерно 25 Mbit/s.
Утилита позволяет копировать файлы или каталоги локально, например:
# rsync -zvh --progress file /tmp/backups/
# rsync -zvh --progress /home/alex/documents /tmp/backups/
Кстати, вместо SSH вы можете использовать демон rsync. Утилита rsync довольно известная, и многими используемая, особенно в скриптах. Поэтому о ней необходимо помнить.
Если понравилась статья, подпишись на мой канал в VK или Telegram .