По какой-то причине мой корневой crontab не работает.
Попытка перезагрузить устройство каждую ночь в полночь.
В качестве root должно быть указано следующее:
crontab -e
Затем добавьте:
0 0 * * * /sbin/shutdown -r now
Когда я тестирую, используя некоторые значения, закрывающие текущее время, ничего не происходит. Я установил NTP и убедился, что часовой пояс правильный. Я также уточняю использование 24-часовых часов. Например, чтобы проверить эту строку прямо сейчас (5:35 PM), я пытаюсь ввести следующее:
36 17 * * * /sbin/shutdown -r now
Я проверил время с датой -R. Время для запуска crontab приходит и уходит, и система не перезагружается. Что мне здесь не хватает?
sudo crontab -l | grep -v '#'
?Ответы:
У меня есть три решения для вас.
Вызвать crontab с помощью
crontab -e -u root
Убедитесь, что у вас есть пустая строка в конце файла cronjob, что означает, что каждая строка заканчивается новой строкой.
Возможно, вам придется перенаправить вывод в devnull:
shutdown -r now > /dev/null
Вот две полезные веб-страницы для cronjobs:
CRON Tester
CRON Generator
Вы также можете аккуратно обрабатывать cronjobs с помощью webmin .
Кроме этого, у вас есть как минимум еще два способа перезагрузить компьютер в полночь.
Один из них - запускать команду shutdown автоматически в качестве сценария при входе в систему, но с определенным временем в качестве параметра вместо «сейчас»:
shutdown -r 00:00
Тем не менее, это приведет к широковещательному сообщению о предстоящем отключении при каждом входе в систему (это может быть совсем не плохо). Что ж, вы также можете сделать это во время загрузки, добавив скрипт в init.d, по-прежнему получая сообщение.
Другое - использовать
at
команду:at 0am
Введите команду
shutdown -r now
и сохраните ее с помощью ctrl + d или выполните скрипт для команды и выполните:at -f restart_script.sh 0am
Надеюсь, это поможет вам получить желаемый результат.
источник
Задания System Cron перечислены в файле / etc / crontab. Поэтому редактирование этого файла напрямую поможет вам выполнить команду перезагрузки от имени пользователя root.
следовательно,
убедитесь, что вы проверили файл журнала Cron после редактирования crontab, так как он сообщит вам, был ли установлен cron успешно.
Я проверил это, и это сработало для меня. Перезагрузил мою систему в 8:23 вечера
Удачи!
источник
36 17 * * * и т. Д.
36 17 не способ указать точное время в вашем хрон.
проверьте с помощью команды date, чтобы увидеть, работает ли ваша система по американскому или европейскому времени
используйте 17 36, если европейское время и ваша система использует время 24 ч или 5 36, если ваша система использует время США и 12 ч.
источник