J'ai une mission où le conférencier me demande de créer un script bash pour éteindre un serveur à 23h et l'activer à 6h. Je suis capable de le faire en utilisant Sudo shutdown -h 23:00
et cela fonctionne. Mais le problème est que je ne sais pas comment l’activer automatiquement à 6 heures du matin, je n’ai trouvé aucune commande capable de le faire. Toute aide serait appréciée.
Vous devez d’abord vérifier si vous pouvez utiliser le RTC wakealarm pour réactiver votre système:
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
Maintenant, vérifiez:
cat /proc/driver/rtc
Cela devrait renvoyer une liste de paramètres. Vérifiez le alrm_time
dans 3 minutes et le alrm_date
aujourd’hui.
Si cela fonctionne, créez un script /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
Enfin, éditez votre utilisateur crontab , tapez crontab -e
et ajoutez la ligne suivante:
0 23 * * * /usr/local/sbin/shutwake