Ок, чтобы перезагружать скрипт в cron.daily? [dубликат]

У меня возникают периодические проблемы с конкретным приложением XBMC. Если я регулярно использую XBMC, у меня вроде бы нет никаких проблем, но если я оставлю его без присмотра более чем на 12 часов, мне нужно перезагрузить его, чтобы он снова работал.

Я знаю, что запланированная перезагрузка НЕ ответ, но пока я не смогу понять проблему, мне нужно запланировать перезагрузку каждое утро, чтобы моя жена могла ее использовать, если я уезжаю, и она не выбрасывается из окна:)

Любые участники ?

56
задан 16 December 2013 в 02:23

8 ответов

Я бы использовал cron (уже должен быть установлен): Edit crontab:

sudo crontab -e

В первый раз вам может потребоваться выбрать нужный редактор (например, nano) Вставьте строку, подобную

0 4 * * * /sbin/shutdown -r +5

внизу. Объяснение:

m h dom mon dow command minute hour dayOfMonth Month dayOfWeek commandToRun

, поэтому строка

0 4 * * * /sbin/shutdown -r +5

будет перезагружать вашу систему каждый день в 4:05. (4:00 + 5 минут)

Ctrl + X, Y, Enter должен вывести вас из crontab (если используется nano)

Примечание: вам может потребоваться запустить crontab -e как root, потому что shutdown требует root.

97
ответ дан 17 July 2018 в 22:20

Я бы использовал cron (уже должен быть установлен): Edit crontab:

sudo crontab -e

В первый раз вам может потребоваться выбрать нужный редактор (например, nano) Вставьте строку, подобную

0 4 * * * /sbin/shutdown -r +5

внизу. Объяснение:

m h dom mon dow command minute hour dayOfMonth Month dayOfWeek commandToRun

, поэтому строка

0 4 * * * /sbin/shutdown -r +5

будет перезагружать вашу систему каждый день в 4:05. (4:00 + 5 минут)

Ctrl + X, Y, Enter должен вывести вас из crontab (если используется nano)

Примечание: вам может потребоваться запустить crontab -e как root, потому что shutdown требует root.

97
ответ дан 23 July 2018 в 22:59

Вы должны создать скрипт, используя указания, данные Kees Cook ...

Вы можете просто скопировать и вставить информацию ниже в любом текстовом редакторе и создать файл zz-reboot в предложенной директории.

После этого просто запомните правой кнопкой мыши по файлу и назначьте его разрешение на выполнение. Если вам нравится просто использовать терминал:

sudo chmod +x /etc/cron.daily/zz-reboot

Чтобы лучше понять, что вы делаете, помните, что в папке /etc вы обычно находите файлы конфигурации, и там вы можете найти cron.hourly, cron.daily и других папках cron.

Если вы хотите строго соблюдать время перезагрузки, просто цифру

sudo crontab -e

, чтобы вы могли редактировать crontab для пользователя root.

Если вам лучше делать это графически, вы можете установить его из Gnome-расписания Software Center. Если вы хотите изменить gnome-schedule для пользователя root, убедитесь, что вы запустили его из терминала:

gksudo gnome-schedule

Удачи! :)

p.s .: отличная точка sBlatt! Мне было интересно, есть ли способ принудительно выполнить cron.daily время выполнения.

1
ответ дан 17 July 2018 в 22:20

Добавление этого параметра в /etc/cron.daily/zz-reboot должно работать:

#!/bin/sh shutdown -r now

И sudo chmod a+x /etc/cron.daily/zz-reboot. Префикс «zz» заставит его запустить последний из всех других скриптов в этом каталоге. Проверьте /etc/crontab, чтобы узнать, какое время дня на самом деле произойдет:

grep daily /etc/crontab | awk '{print $2 ":" $1}'

Если это не сработает, значит, «регулярная» запись cron также может работать через sudo crontab -e

MINUTE HOUR * * * shutdown -r now

И, наконец, если вы хотите просто выполнить однократные перезагрузки, вы можете использовать at:

echo "shutdown -r now" | sudo at 04:30
9
ответ дан 17 July 2018 в 22:20

Я работаю с cronjobs около месяца на моей работе и расписанию poweroff, и перезагружаюсь. Это очень просто. Я знаю, что это было спрошено около 5 лет назад, но если у кого-то еще есть проблемы, вы можете использовать этот метод, и вы будете установлены.

откройте терминал (ctrl + T)

sudo nano /etc/crontab

прокрутите весь путь до нижнего уровня и введите следующую команду

00 6 * * * root reboot

, которая настроена для перезагрузки в 6 часов каждый день, и нажмите enter

Если вы хотите запланировать отключение питания в 11 вечера каждый день вы можете войти в

00 23 * * * root poweroff

Мне все еще нужно выяснить, как управлять машиной с помощью cronjob, когда она выключена. Я отредактирую этот ответ, когда увижу его.

P.S. это мой первый ответ на публикацию любых форм; надеюсь, что это поможет кому-то! :

D
1
ответ дан 17 July 2018 в 22:20

Вы должны создать скрипт, используя указания, данные Kees Cook ...

Вы можете просто скопировать и вставить информацию ниже в любом текстовом редакторе и создать файл zz-reboot в предложенной директории.

После этого просто запомните правой кнопкой мыши по файлу и назначьте его разрешение на выполнение. Если вам нравится просто использовать терминал:

sudo chmod +x /etc/cron.daily/zz-reboot

Чтобы лучше понять, что вы делаете, помните, что в папке /etc вы обычно находите файлы конфигурации, и там вы можете найти cron.hourly, cron.daily и других папках cron.

Если вы хотите строго соблюдать время перезагрузки, просто цифру

sudo crontab -e

, чтобы вы могли редактировать crontab для пользователя root.

Если вам лучше делать это графически, вы можете установить его из Gnome-расписания Software Center. Если вы хотите изменить gnome-schedule для пользователя root, убедитесь, что вы запустили его из терминала:

gksudo gnome-schedule

Удачи! :)

p.s .: отличная точка sBlatt! Мне было интересно, есть ли способ принудительно выполнить cron.daily время выполнения.

1
ответ дан 23 July 2018 в 22:59
  • 1
    В / etc / crontab есть запись, чтобы отрегулировать время, но afaik, если компьютер в это время не работает, он будет выполняться через несколько минут после запуска компьютера – sBlatt 18 November 2010 в 01:46

Добавление этого параметра в /etc/cron.daily/zz-reboot должно работать:

#!/bin/sh shutdown -r now

И sudo chmod a+x /etc/cron.daily/zz-reboot. Префикс «zz» заставит его запустить последний из всех других скриптов в этом каталоге. Проверьте /etc/crontab, чтобы узнать, какое время дня на самом деле произойдет:

grep daily /etc/crontab | awk '{print $2 ":" $1}'

Если это не сработает, значит, «регулярная» запись cron также может работать через sudo crontab -e

MINUTE HOUR * * * shutdown -r now

И, наконец, если вы хотите просто выполнить однократные перезагрузки, вы можете использовать at:

echo "shutdown -r now" | sudo at 04:30
9
ответ дан 23 July 2018 в 22:59
  • 1
    насколько я знаю, это перезагрузит вашу систему в то же время, когда вы создадите этот файл каждый день, пожалуйста, исправьте меня, если я ошибаюсь – sBlatt 18 November 2010 в 01:22
  • 2
    Не совсем: он будет перезагружаться один раз в день в любое время cron.daily, что немного непредсказуемо. Если у вас нет anacron, это 06:25 по местному времени, что может быть хорошо (или может быть ужасно, если вы ранний подъем). Если вы это сделаете, и я думаю, что это по умолчанию, вполне может быть 10 минут после того, как машина будет включаться в первый раз каждый день, что будет приводить в бешенство. Во всяком случае, cron.daily не подходит для этого. – poolie 18 November 2010 в 01:27
  • 3
    cron.daily запускается каждую ночь в 6:25 в моей системе. Обычно это устанавливается в случайную минуту между 06:00 и 06:59. См. Ваш / etc / crontab на время в вашей системе. – elzapp 18 November 2010 в 01:30
  • 4
    Самая большая проблема с использованием cron.daily для этого заключается в том, что он может мешать другим заданиям в cron.daily. – elzapp 18 November 2010 в 01:31

Я работаю с cronjobs около месяца на моей работе и расписанию poweroff, и перезагружаюсь. Это очень просто. Я знаю, что это было спрошено около 5 лет назад, но если у кого-то еще есть проблемы, вы можете использовать этот метод, и вы будете установлены.

откройте терминал (ctrl + T)

sudo nano /etc/crontab

прокрутите весь путь до нижнего уровня и введите следующую команду

00 6 * * * root reboot

, которая настроена для перезагрузки в 6 часов каждый день, и нажмите enter

Если вы хотите запланировать отключение питания в 11 вечера каждый день вы можете войти в

00 23 * * * root poweroff

Мне все еще нужно выяснить, как управлять машиной с помощью cronjob, когда она выключена. Я отредактирую этот ответ, когда увижу его.

P.S. это мой первый ответ на публикацию любых форм; надеюсь, что это поможет кому-то! :

D
1
ответ дан 23 July 2018 в 22:59
  • 1
    Существует ответ с тем же контентом от 5 лет назад с более подробной и автоматической проверкой синтаксиса (через crontab -e). – David Foerster 1 August 2015 в 21:00
  • 2
    Не забудьте перезапустить cron: sudo /etc/init.d/cron restart – BriceB 12 May 2016 в 10:23

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

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