Aucun script ni programmation n'est nécessaire, il faut juste créer une tâche planifiée qui va lancer une commande qui est déjà disponible :
Utilises la crontab
crontab est un gestionnaire de tâches planifiées (lancement à une date ou un jour donnée avec une périodicité)
Chaque utilisateur peut avoir sa crontab (sa liste de tâches planifiées)
Le programme crontab se lance en ligne de commande, il t'ouvre un éditeur de texte (sur raspberry, il te lance l'éditeur de texte nano habituellement)
Pour ne pas être embêter, mets la tâche pour le superadmin (root)
-u = utilisateur, -e = editer (=modifier, créer, supprimer des tâches)
ou encore passe en root
puis lance crontab en mode édition (par défaut c'est pour l'utilisateur connecté)
Là, tu y es les éléments de la tâches à lancé (date, heure et période)
Ex : pour chaque jour à 23h30 ça fait
30 23 * * * puis_ici_la_commande_a_lancer
1er chiffre = les minutes
2ième chiffre à les heures
3ième = numéros du jour dans le mois : 1..31, * pour tous
4ième = les numéros du mois : 1..12, * pour tous
5ième = les numéros de jours de la semaine 0..6 (* pour tous)
Juste après tu mets le script à lancer avec son chemin complet, c'est mieux
ex ça donne :
30 23 * * * /usr/sbin/shutdown -h now
-h = halt (arrêt)
now = maintenant
ca revient au même que
/usr/sbin/poweroff
si tu veux être sûr du chemin de poweroff ou de shutdown, fait, avant d'ouvrir la crontab , fait dans un terminal :
whereis poweroff
ou
whereis shutdown
Pour enregistrer les modifs que tu as fait dans la crontab : CTRL+O
Pour quitter l'éditeur (c'est nano) : CTRL+X
et si crontab s'ouvre avec vi ou vim plutôt que nano :
enregistrer = ESC :w
quitter = ESC :q
tu as aussi ESC

qui fait les 2 en même temps
Pour remodifier ta crontab : refais crontab -e (avec le bon utilisateur)
Pour consulter seulement le contenu de la crontab :
(elle et pas i ou un)
Pour supprimer une tâche planifier : crontab -e et supprimer la ligne puis sauvegarder
crontab est très très bien documenté sur internet, y compris en français.