При больших объемах пользуйтесь сразу screen, чтобы не было досадно при срочных отключениях.
Синхронизация директории на удаленном сервер с локальным через ssh
rsync -avzhe ssh root@192.168.2.101:/home/beta/Downloads /tmp
Скопирует папку /home/beta/Downloads
с удаленного сервера с адресом 192.168.2.101 и положит ее локально в /tmp
Точно так же можно и закинуть файлы на сервер.
rsync -avzhe ssh mailer.tar.gz root@192.168.2.101:/home/beta/Downloads/
Чтобы смотреть прогресс выполнения можно добавить
--progressЧтобы исключить какие-то файлы, папки можно добавить
--exclude '*.log'
Или включить только определенные файлы
--include '*.cfg' --exclude '*.log'
При указании опции
--delete удалятся файлы в месте назначения (
на удаленном сервере), если таких нету на нашем диске.
Для удаления файлов, которые успешно были загружены можно использовать
--remove-source-files. Это удалит файлы на локальной машине.
Переносить файлы с ограничением по
размеру:
--max-size='1024k'
Не будет копировать файлы объемом больше 1 мегабайта
Для
тестового прогона используется
--dry-run. Это покажет какие изменения будут произведены, но не выполнит их.
Для
ограничения скорости, чтобы не сьесть весь канал или диск, можно поставить опцию
--bwlimit=2048. Указывается в килобайтах в секунду (kbps).
screen можно запускать так:
screen -AmdSL rs rsync -avzhe ssh root@192.168.2.101:/local/files/path /remote/files/path
В текущей директории появится лог файл, который можно смотреть чем-то наподобие
tail -f screenlog.0
таким образом будет видно ход синхронизации и при обрыве связи все равно продолжится операция (если это две другие машины, на которые ходим удаленно)
You should to log in