Как отложить выполнение cron на следующие несколько часов?
Мне приходится ежедневно перезагружать систему, для этого я создал файл сценария. В этом файле сценария я добавил условие, что если загрузка или выгрузка продолжаются, пропустите этот перезапуск.
Вот мой файл сценария
#!/bin/bash
if [ "$Upload" ]; then
echo itsme | sudo -S shutdown -r now
fi
и для выполнения этого файла сценария я написал задание cron как
0 12 * * * ${HOME}/reboot-me.sh
Теперь я должен добавить функциональность, так как идет загрузка или загрузка, затем отложить перезагрузку на следующие 1 час или добавить задержку в 1 час.
Так как я могу отложить эту работу?
Изменить Я отредактировал мое состояние это работа?
if [ "$Upload" ]; then
echo itsme | sudo -S shutdown -r now
else
sleep 3600
if [ "$Upload" ]; then
echo itsme | sudo -S shutdown -r now
else
echo "uploading....."
fi
fi
1 ответ
Пусть ваш cronjob запускается каждый час и проверяет, подходит ли время для перезагрузки:
- за 12 часов?
- уже перезагрузился сегодня?
- что-то работает, что должно отложить перезагрузку?
С этими 3 пунктами вы сможете решить, можете ли вы перезагрузить компьютер или нет.