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

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

1 ответ

Решение

Сначала вам нужно проверить, можете ли вы использовать 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
Другие вопросы по тегам