rsync нашвидкуруч
Команди rsync, які часто використовуються, але які запам'ятовувати не хочеться.
За великих обсягів даних одразу використовуйте 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



Для завантаження великих файлів краще користуватися

--partial --progress --inplace -vzhe ssh



Для атоматизації вводу пароля можна використати:

sshpass -p "PaSsWoRd" rsync -avzhe "ssh -p23" user@host:remote_dir /local/dir

Ви маєте увійти під своїм обліковим записом

loading