Как автоматически отключить Ubuntu через X минут после запуска?

Как можно было бы автоматически выключить ОС Ubuntu через 30 минут после ее включения? Или через 15 минут после включения? Так далее?

Я попытался создать скрипт init.d так:

shutdown -h +5

Но моя коробка не закрывается через 5 минут.

2 ответа

Решение

Вы можете использовать cron и флаг @reboot для планирования выключения, если вы добавите это в корневой crontab:
@reboot shutdown -h +30

/etc/init.d содержит сценарии запуска, но фактически не сообщает каждому уровню выполнения, что он должен делать. Реальные сценарии называются символическими ссылками из /etc/rc[0-6].d, где [0-6] - уровень запуска, который вы вводите.

Более конкретно, символическим ссылкам дается имя:

[SK] nnScript, где [SK] - Start или Kill, nn - порядок (сначала ниже), а Script - имя файла в /etc/init.d. Запланированные для запуска скрипты вызываются с помощью --start, а те, которые должны быть остановлены --stop как переключатели.

В Debian/ Ubuntu вы можете заполнить эти скрипты:

update-rc.d --defaults <yourscript>

чтобы соответствующие символические ссылки создавались в /etc/rc[0-6].d/

Тем не менее, я настоятельно рекомендую вам самим сделать ссылку на уровень запуска 2 (по умолчанию):

ln -s /etc/init.d/<myscript> /etc/rc2.d/S50<myscript>

Как вызов shutdown при выключении (уровень 0), переход на одного пользователя (уровень 1) или перезагрузка (уровень 6), вероятно, не такая мудрая идея.

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