выключите сервер Linux и включите автоматически в определенное время


8

У меня есть задание, по которому лектор просит меня создать скрипт bash, чтобы выключить сервер в 11 вечера и включить его в 6 утра. Я могу сделать это с помощью, sudo shutdown -h 23:00и это работает. Но проблема в том, что я понятия не имею, как включить его автоматически в 6 утра, я не смог найти ни одной команды, которая могла бы сделать это. Любая помощь будет оценена.


Вы уверены, что ваше задание просит выключить всю машину (и снова включить) или только один процесс сервера? Очевидно, что физическая машина должна быть включена, чтобы делать что-либо.
Йос

Если честно, я тоже понятия не имею, я тоже думал, что это будет невозможно. Лектор очень расплывчат в задании, и это сводит меня с ума.
JLWK

Ответы:


10

Сначала вам нужно проверить, можете ли вы использовать Rake Wakealarm для пробуждения вашей системы:

sudo sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm"
sudo sh -c "echo `date '+%s' -d '+ 3 minutes'` > /sys/class/rtc/rtc0/wakealarm"
cat /sys/class/rtc/rtc0/wakealarm

Теперь проверьте:

cat /proc/driver/rtc

Это должно вернуть список параметров. Проверьте alrm_timeэто 3 минуты в будущее и alrm_dateсегодня.

Если все работает нормально, создайте /usr/local/sbin/shutwakeскрипт:

#!/bin/bash 
sh -c "echo 0 > /sys/class/rtc/rtc0/wakealarm" 
sh -c "echo `date '+%s' -d '+ 7 hours'` > /sys/class/rtc/rtc0/wakealarm" 
shutdown -h now

Наконец, отредактируйте свой пользовательский crontab , введите crontab -eи добавьте следующую строку:

0 23 * * * /usr/local/sbin/shutwake

Я зависит от настроек часов BIOS, проверьте, установлен /etc/default/rcSли UTC или нет.
Сильвен Пино

Ну, я попробовал точно то же самое, что вы написали выше. Это не сработало :(. -Дебиан 8
Балинт Пап
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.