Привет.
Мне нужно скопировать ~ 40 000 файлов с сервера на мой компьютер, и мне интересно, каков лучший подход к решению этой проблемы.
- медленный
- Потребляйте много пропускной способности
- медленный
- потреблять меньше пропускной способности
- может возобновить копию после проблемой сети
- меньше медленного
- потреблять меньше пропускной способности
- меньше медленного
- потреблять меньше пропускной способности
- может возобновить копию после проблемой сети
- быстро
- потреблять меньше пропускной способности
- быстро
- потреблять меньше пропускной способности
- может возобновить копию после проблемой сети
Я думаю, что я выберусь за последний, но что бы вы сделали в моем случае?
Редактировать: Команды Bash для использования смолы
тогда расколоть
тогда параллельно
с rsync
:
Пререквизит: Установите параллель и удалите предупреждение:
sudo apt install parallel && echo "will cite" | parallel --citation &>/dev/null
# on server tar cfz files.tar.gz ~/path/to/folder/ split -b 20M files.tar.gz fragment_ # on local machine cat $(ssh host@server ls -1 fragment_*) | parallel rsync -z host@server:{} . cat frament_* > files.tar.gz tar xvf files.tar.gz
Редактировать 2: Я использовал простую команду rsync, поскольку она может сжать файлы на лету и обращаться с перезапуском, откуда остановится передача.
Поскольку rsync всегда использует максимальную пропускную способность доступно, это не узкое место, которое можно решить с параллельно
Отказ
Оригинал: «https://dev.to/corentinbettiol/how-to-efficiently-download-thousands-of-files-1ml3»