У меня есть задание, в котором лектор просит меня создать сценарий bash, чтобы завершить работу сервера в 11 часов вечера и включить его в 6 часов утра. Я могу сделать это с помощью sudo shutdown -h 23:00
, и это работает. Но проблема в том, что я понятия не имею, как включить его автоматически в 6 утра, я не смог найти ни одной команды, которая могла бы это сделать. Любая помощь будет оценена.
Сначала необходимо проверить, можно ли использовать RTC 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