#1 Le 07/10/2015, à 11:45
- almandin
script lancé à l'arrêt de linux
Bonjour,
J'aimerais ajouter un script qui s'éxecute à l'arrêt de mon ordinateur (avant que l'ordinateur s'arrête).
Ce script stop openvpn qui empeche mon ordi de s'arrêter correctement en fait.
J'ai déjà essayé de mettre mon script dans init.d et un lien vers ce script dans les runlevels 0 et 6 (halt et reboot), mais ce script n'est jamais executé.
Du coup j'aimerais en savoir plus : comment faire en sorte de lancer un script à chaque arrêt de l'ordi (halt ou reboot)
Merci d'avance
Hors ligne
#2 Le 07/10/2015, à 12:20
- jplemoine
Re : script lancé à l'arrêt de linux
J'ai déjà essayé de mettre mon script dans init.d et un lien vers ce script dans les runlevels 0 et 6 (halt et reboot),
Il me semble que c'est pourtant la bonne méthode...
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#3 Le 07/10/2015, à 12:33
- almandin
Re : script lancé à l'arrêt de linux
J'ai créé un script "stopopenvpn" dans /etc/init.d/ qui contient "#!/bin/bash killall openvpn", c'est tout, je l'ai chmod +x, puis dans /etc/rc0.d et /etc/rc6.d j'ai fait 'ln -s ../init.d/stopopenvpn K01stopopenvpn"
Si j'ai raté quelque chose je ne sais pas quoi
Hors ligne
#4 Le 07/10/2015, à 12:49
- Watael
Re : script lancé à l'arrêt de linux
salut,
ubuntu est pas passée à systemd il y a quelques années ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 07/10/2015, à 12:56
- nany
Re : script lancé à l'arrêt de linux
Bonjour,
essaye en mettant ceci comme script :
#!/bin/bash
/usr/bin/killall openvpn
exit 0
Motif : j’ai observé que la majorité des scripts présents renseignent la variable $PATH. Il y a sans doute une raison, c’est pourquoi je t’ai mis le chemin complet de killall. Ensuite, tous les scripts que j’ai regardés se termine par exit 0, donc ça ne coûte rien de le mettre aussi.
Sinon, j’ai pu lire qu’il était conseillé de nommer K99 pour être sûr que ce soit exécuté au bon moment. Je te conseille donc de changer tes liens K01… en K99…
ubuntu est pas passée à systemd il y a quelques années ?
Seulement depuis la 15.04.
Dernière modification par nany (Le 07/10/2015, à 12:57)
En ligne
#6 Le 07/10/2015, à 13:47
- jplemoine
Re : script lancé à l'arrêt de linux
Je vais peut-être dire des bêtises mais je crois que :
- Si ça commence par Snn, c'est bon
- Si ça commence par Knn, c'est que le script est désactivé : il n'est donc pas appelé...
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#7 Le 07/10/2015, à 13:54
- nany
Re : script lancé à l'arrêt de linux
Je vais peut-être dire des bêtises
Dernière modification par nany (Le 07/10/2015, à 13:55)
En ligne
#8 Le 07/10/2015, à 17:17
- almandin
Re : script lancé à l'arrêt de linux
Du coup avec systemd j'ai du mal à identifier comment écrire le fichier .service, l'unité pour lancer le ExecStart à l'arrêt de la machine
Un peu d'aide serez la bienvenue, j'ai déjà tenté plusieurs choses, notamment la suivante :
[Unit]
Description=Stop openvpn before shuting down
Requires=network.target
After=network.target
Before=shutdown.target
DefaultDependencies=no
[Service]
ExecStart=/home/myname/.bin/stopvpn
Type=oneshot
RemainAfterExit=yes
[Install]
WantedBy=shutdown.target
le script stopvpn kill openvpn, j'ai activé le service avec systemctl enable monservice, mais quand je reboot/shutdown, le script n'est pas appellé
Dernière modification par almandin (Le 07/10/2015, à 17:18)
Hors ligne
#9 Le 10/10/2015, à 17:49
- almandin
Re : script lancé à l'arrêt de linux
Je recherche toujours de l'aide sur ce problème, je n'arrive pas à executer un script avant l'arrêt de ma machine, si quelqu'un connaît une solution, et a remarqué ce que je fais de travers, je suis preneur
merci d'avance
Hors ligne
#10 Le 13/11/2015, à 18:56
- pfro35
Re : script lancé à l'arrêt de linux
Je suis dans la même situation. Depuis la version 15.04 je ne peux plus créer de lien avec cette formule :
ln -s etc/init.d/script/etc/rc0.d/K01script
Voici ce que je trouve comme lien : Lien (brisé) (inode/symlink).
Hors ligne
#11 Le 13/11/2015, à 19:43
- mikael8349
Re : script lancé à l'arrêt de linux
J'avais eu un problème similaire l'année dernière, de mémoire il me semble qu'il ne fallait pas oublier le bloc de commentaire BEGIN INIT INFO en début de script, sans quoi j'obtenais une erreur. (faire attention au valeur donné pour les paramètres) :
#! /bin/sh
### BEGIN INIT INFO
# Provides: skeleton
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Example initscript
# Description: This file should be used to construct scripts to be
# placed in /etc/init.d.
### END INIT INFO
Après, pour vous inspirer vous pouvez voir le squelette de référence fourni par votre distribution, généralement : /etc/init.d/skeleton.
Hors ligne
#12 Le 14/11/2015, à 14:43
- pfro35
Re : script lancé à l'arrêt de linux
Je n'ai pas été suffisamment clair.
Jusqu'à la version 15.04 le lien se créait parfaitement avec la commande indiquée. Depuis le mois de mai cela ne fonctionne plus alors que j'en ai commencé l'emploi à la version 10.10.
Je suppose que cela est dû à des modifications apportées à cette version de Linux.
Il s'agit de lancer un programme à l'extinction de l'ordinateur que je lance manuellement depuis ... quand j'y pense.
J'avais déjà un blog de commentaires dans mon script auquel j'ai ajouté BEGIN et END mais cela n'a pas suffi.
Merci d'avoir pris le temps de faire une réponse.
Hors ligne