rsync - качаем по ssh с докачкой
rsync -avP --append-verify -e "ssh -p <port> -i <key>" <user>@<server>:<full patch to src file/directory> <dst file/directory>
где:
- -a
- Режим “архивация” – сохранение прав и владельца
- -v
- Verbose mode
- -P
- Выводит статистику по скорости передачи и не дает удалять недозалитый файл при обрыве соединения
- —append-verify
- Продолжить качать файл
- -r
- рекурсивно
пример:
rsync -avP --append-verify -e "ssh -p 2222 -i /root/.ssh/ps-wiki-jira" root@domain.com:/datafiles1/vz/private/wiki.tar.gz wiki.tar.gz
Скачать все файлы из папки в 10 потоков:
ls /dir | parallel -v -j10 rsync -av --inplace /dir/{} <user>@<server>:/dir/{}
Перезапуск скачивания при обрыве связи:
RC=1 while [[ $RC -eq 12 || $RC -eq 30 ]] do rsync -avP --append-verify -e "ssh -p <port> -i <key>" <user>@<server>:<full patch to src file/directory> <dst file/directory> RC=$? sleep 60 done