Root crontab не работает
По какой-то причине мой корневой crontab не работает.
Попытка перезагрузить устройство каждую ночь в полночь.
В качестве root должно быть указано следующее:
crontab -e
Затем добавьте:
0 0 * * * /sbin/shutdown -r now
Когда я тестирую, используя некоторые значения, закрывающие текущее время, ничего не происходит. Я установил NTP и убедился, что часовой пояс правильный. Я также уточняю, используя 24-часовые часы. Например, чтобы проверить эту строку прямо сейчас (5:35 PM), я пытаюсь ввести следующее:
36 17 * * * /sbin/shutdown -r now
Я проверил время с датой -R. Время для запуска crontab приходит и уходит, и система не перезагружается. Что мне здесь не хватает?
3 ответа
У меня есть три решения для вас.
Вызвать crontab с помощью
crontab -e -u root
Убедитесь, что у вас есть пустая строка в конце файла cronjob, а это означает, что каждая строка заканчивается новой строкой.
Вам может понадобиться перенаправить вывод в devnull:
shutdown -r now > /dev/null
Вот две полезные веб-страницы для cronjobs:
Вы также можете аккуратно обрабатывать cronjobs с помощью webmin.
Кроме этого, у вас есть как минимум еще два способа перезагрузить компьютер в полночь.
Одним из них является автоматическое выполнение команды shutdown при входе в систему, но с определенным временем в качестве параметра вместо "now":
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.
следовательно,
$ sudo vi /etc/crontab
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
23 20 * * * root shutdown -r now
убедитесь, что вы проверили файл журнала Cron после редактирования crontab, так как он сообщит вам, был ли установлен cron успешно.
Я проверил это, и это сработало для меня. Перезагрузил мою систему в 8:23 вечера
Удачи!
36 17 * * * и т. Д.
36 17 не способ указать точное время в вашем хрон.
проверьте через команду date, чтобы увидеть, работает ли ваша система по американскому или европейскому времени
используйте 17 36, если европейское время, и если ваша система использует время 24 ч или 5 36, если ваша система использует время США и 12 ч.