Tâche Cron d'extinction

a marqué ce sujet comme résolu.

Bonjour,

Je suis en train d'essayer de créer une tâche Cron sur mon Rapberry Pi (tournant sous Raspbian) qui fait ceci :

  • Vérification de l'existence d'un fichier nommé « haltRequested » dans un dossier particulier
    • S'il existe : on supprime le fichier et on éteint le Raspberry Pi
  • Vérification de l'existence d'un fichier nommé « rebootRequested » dans un dossier particulier
    • S'il existe : on supprime le fichier et on redémarre le Raspberry Pi

Le but de la manœuvre est de me faciliter l'arrêt et le redémarrage de l'appareil. En effet, mon Raspberry Pi ne possède ni écran, ni clavier (je ne parle pas de souris puisqu'il n'y a pas de serveur X.Org), et comme j'en ai un peu assez de passer par la console SSH, j'ai créé un minisite dessus (écrit en PHP) qui me permet d'effectuer ces actions simplement… du moins en théorie.
Le script PHP crée bien les fichiers cités dans l'algorithme ci-dessus, et la tâche Cron, exécutée chaque minute en tant que root, semble bien fonctionner, puisque les fichiers sont bien supprimés.

Pourtant, le Pi ne s'arrête pas pour autant, et je ne comprends pas pourquoi :(

Voici le contenu de mon script :

1
2
3
4
5
6
7
8
9
#!/bin/bash

if [ -e /home/jerome/www/haltRequested ]; then
        rm /home/jerome/www/haltRequested # Suppression du fichier (pour éviter la boucle infinie mortelle !)
        shutdown -h now # Arrêt (ne fonctionne pas)
elif [ -e /home/jerome/www/rebootRequested ]; then
        rm /home/jerome/www/rebootRequested # Suppression du fichier (pour éviter la boucle infinie mortelle !)
        shutdown -r now # Redémarrage (ne fonctionne pas)
fi

J'ai également tenté avec les commandes halt et reboot, mais sans plus de succès…

Une idée ?

Le contenu de ma Crontab, au cas où :

1
2
sudo crontab -l
* * * * * /root/halt.sh
+0 -0

Contenu de /etc/crontab :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --repo$
#
+0 -0

Salut !

Le Raspberry Pi possède du matériel légèrement différent. Essaye de faire un halt ou un poweroff à la place du shutdown. (Ça se passe pas pareil selon la commande utilisée )

Mais j'ai lu que ton shutdown ce passait bien. A essayer.

Essaye de mettre aussi ta commande dans /etc/crontab, elle sera exécutée en tant que commande système. Et n'oublie pas de faire un petit chmod +x sur ton script :)

Have fun :)

EDIT : J'ai oublié de dire qu'il faut pas trop utiliser le fichier crontab (C'est un fichier de conf pour cron) qui est dans /etc. Essaye de faire ça dans /etc/cron.d. Si tu veux plus de renseignement je t'invite à lire ceci.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte