Получить загрузку ЦП за последние n секунд или минут

Из-за взаимозависимости ваших команд очень вероятно, что любая сетевая ошибка, вызванная wget, вызовет -ненулевой выход, что приведет к неполной цепочке событий.

Поскольку это cron, вы ограничены тем, что возможно, я предлагаю перенести эту логику в простой сценарий bash.

Если вы загружаете много данных, вы можете использовать aria2 , чтобы загрузить их быстрее, но это зависит от того, является ли ваш источник динамическим или нет.

Простым подходом к решению проблемы было бы заставить его повторить попытку и перехватить сигнал выхода

cd path/to

while [ 1 ]; do
    wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 -c [download link]
    if [ $? = 0 ]; then break; fi
done

csvjoin ...
...

1
05.09.2021, 20:14
1 ответ

Семейство утилит systat делает подобные вещи посредством учета процессов.

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

Более срочные инструменты в пакете sysstat включают pidstat, которые могут отображать активность процесса во время его работы.

1
05.09.2021, 22:18

Теги

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