[Extinction] Send mail before exit

Fermé
MrClay Messages postés 74 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 4 février 2011 - 9 juin 2007 à 10:35
MrClay Messages postés 74 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 4 février 2011 - 12 juin 2007 à 11:50
Bonjour,

Je cherche un moyen de lancer une commande automatiquement, juste avant qu'un PC s'éteigne.
Ce que je voudrais, par exemple, c'est que :
- Si le PC va s'éteindre / redémarrer (quelle qu'en soit la raison : shutdown, appui sur le bouton...)
- Il m'envoie un mail d'information d'abord
- Il continue le processus d'extinction ensuite

Je sais bien que si jamais il y a une coupure de courant, ou que quelqu'un éteint violemment le PC, ce ne sera pas possible.
Mais dans tous les autres cas, j'aimerais qu'il m'envoie ce mail, ou me lance un script d'abord, puis quitte ensuite.

Savez vous de quelle manière je pourrais faire çà?


Merci.
A voir également:

4 réponses

MrClay Messages postés 74 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 4 février 2011 44
12 juin 2007 à 11:50
Mon but était donc de me permettre de m'envoyer un mail :
- au démarrage
- a l'arret
- au redémarrage
du PC


Je viens de trouver une solution.

[SOLUTION]
1. Créer un script dans
/etc/init.d/
vi monscript.sh

Le script doit prendre en paramètre "start" et "stop". Ce qui pourra permettre de différencier un arret ou un démarrage du PC.

2. le rendre executable
chmod +x monscript.sh

3. le rajouter dans les scripts de démarrage/arret du PC
update-rc.d -f monscript.sh start 01 2 . stop 99 0 6 .


J'indique que je voudrais qu'il se lance avec la plus basse priorité (01) au démarrage (2), avec le paramètre "start"
et qu'il se lance avec la plus haute priorité (99) à l'arrêt (0) ou au redémarrage (6) du PC.
[/SOLUTION]


Info :
Il existe donc 6 runlevel sous Debian GNU/Linux:
Le runlevel 0 correspond à l'arrêt du système
Le runlevel 1 correspond au démarrage single-user
Le runlevel 2 correspond mode de démarrage normal
Les runlevels 3-5 correspondent à des modes de démarrage que l'on peut se configurer
Le runlevel 6 correspond au redémarrage

un
man update-rc.d donnera plus de détails sur cette commande

Et donc, cette méthode, qui fonctionne pour le mail fonctionnera également pour tout autre script que vous voudrez lancer au démarrage/arrêt/redémarrage du PC :)


Hope it helps ;)
1
MrClay Messages postés 74 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 4 février 2011 44
11 juin 2007 à 07:35
Ce que je recherche est du même type que
- ce que windows permet de faire au démarrage (raccourci à rajouter dans le dossier démarrage)
- ce que linux permet de faire aussi au démarrage /etc/rc.local

Mais je cherche la version qui s'executerait juste avant que le PC s'éteigne.
Auriez vous des idées..?
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
11 juin 2007 à 08:45
Salut,

Intéresses-toi à la commande "trap" :
man bash -P 'less -p "^       trap"'
En gros la commande "trap" intercepte les signaux envoyés à un processus (ou groupe de processus) et exécute des commandes programmées en fonction du signal.

;-))
0
MrClay Messages postés 74 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 4 février 2011 44
11 juin 2007 à 21:39
Merci pour cette première piste.

Pour l'instant, je n'ai pas encore pu l'étudier, mais "à vue d'oeil", j'ai l'impression que si je fais un "Ctrl+Alt+Suppr", ce que je pourrais faire en utilisant ce "trap" ne me permettrait pas de faire ce que je veux... si?

Si tu pouvais m'expliquer à quel "niveau" je dois mettre en place ce mécanisme, ça m'aiderait :)
0