Как я могу запустить завершение работы с крона, только если никакая загрузка не происходит?

Я хотел бы завершить работу своего компьютера половина первого каждый день и могу сделать это с "эхом "30 0 * * */sbin/shutdown-h теперь"> myrootcron.sh", но что, если я хочу отменить то завершение работы или пропустить его, потому что у меня есть происходящая загрузка?

3
задан 1 October 2014 в 00:17

1 ответ

Я не знаю то, о чем весь Ваш echo материал, но если Вы просто хотите проверить, работает ли конкретный процесс, можно использовать pgrep в расписании. Это возвратится 0 если, если находит процесс, который соответствует.

я предполагаю, что Вы загружаете wget, но можно просто изменить это на любой процесс, который Вы ожидали бы видеть живой (использование htop для осмотра системы при загрузке, если Вы не уверены.)

30 0 * * *    pgrep wget >/dev/null || shutdown -h now

, Если (как выше) Вы только выполняете это один раз в день, и это не инициировало из-за загрузки, это не завершит работу до следующего дня. Вы могли изменить это для выполнения его каждый час между 0:30 и 7:30:

30 0-7 * * *    pgrep wget >/dev/null || shutdown -h now
3
ответ дан 17 November 2019 в 20:50

Другие вопросы по тегам:

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