Логистика копирования большого количества файлов с сервера scp на сервер. Как определить прогресс?

Маленькая буква b означает бит, заглавная буква B означает байт

MB/mB = megabyte 
Mb/mb = megabit 

Математическое объяснение простое:

MiB = Mebibyte = 1024 KiB
KiB = Kibibyte = 1024 Bytes
MB = Megabyte = 1,000 KB
KB = Kilobyte = 1,000 Bytes
2
17.08.2017, 07:00
3 ответа

Я собираюсь ответить на различные части, которые @hschou оставил без ответа.

Итак, у меня нет возможности узнать, запущен ли еще процесс scp и сколько осталось.
Можем ли мы вернуть отображение запущенного процесса на мой терминал?

чтобы получить список запущенных процессов, вы можете использовать команду ps( справочная страница )

ps aux | grep scp

Для мониторинга вы можете использовать команду watchили просто выполните простой цикл самостоятельно

while true; do clear; ps aux | grep scp; sleep 5; done

Это будет выполняться ps aux | grep scpкаждые 5 секунд.

0
27.01.2020, 22:09

Используйте rsync.

rsync -av --progress /from/dir/ server:/to/dir/
2
27.01.2020, 22:09

Вы можете отправить большое количество (небольших )файлов с помощью scp из сценария оболочки, который использует фоновые процессы для достижения хорошей производительности.

Использовать файлы семафора (маркера ), такие как имя файла и имя файла.done. Когда принимающее задание видит filename.done, оно знает, что имя файла полностью передано.

Сценарий оболочки может взять пару файлов из входного каталога, переместить их в рабочий каталог и выполнить фоновую функцию для передачи пары.

Фоновая функция передает пару с помощью одной команды scp, поэтому операция является [квази] атомарной, затем проверьте код возврата scp. В случае успеха переместите пару в резервное место и выйдите. В случае неудачи переместите пару обратно в исходный входной каталог, откуда ее можно будет взять для следующей попытки. Удобный способ борьбы с программными ошибками.

Настройте ограничение на количество одновременных дочерних процессов. Запустите несколько, проверьте, сколько запущено (pstree ), подождите, если необходимо, чтобы количество дочерних pid не превышало лимит.

Широкое использование функции ведения журнала полезно.

0
27.01.2020, 22:09

Теги

Похожие вопросы