Pages : 1
#1 Le 23/11/2018, à 10:20
- LukePerp
[Résolu] Script à l'arrêt
Bonjour,
Comment exécuter un script à l'arrêt de la machine sur Ubuntu 18.04 ? J'ai consulté des solutions sur askubuntu, mais je n'ai pas réussis à l'appliquer à 18.04. Pour vous donner le contexte, sur des machines clientes d'un serveur NFS, l'arrêt des clients est très long si un dossier partagé du serveur a été monté et que le serveur est déjà arreté lors de l'arrêt des clients. C'est un problème connue des défauts du NFS, il faut juste forcer le démontage du dossier monté non fonctionnel. Mon besoin est d'exécuter cette commande à l'arrêt. Pourriez-vous m'aider svp. Merci d'avance
Dernière modification par LukePerp (Le 03/12/2018, à 19:44)
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum
Hors ligne
#2 Le 23/11/2018, à 10:38
- diesel
Re : [Résolu] Script à l'arrêt
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#3 Le 23/11/2018, à 11:57
- LukePerp
Re : [Résolu] Script à l'arrêt
J'ai lu, mais cela ne m'a pas aidé. Pourquoi tu m'as indiqué cette lecture ?
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum
Hors ligne
#4 Le 23/11/2018, à 12:08
- Compte supprimé
Re : [Résolu] Script à l'arrêt
Bonjour,
Perso , pour exécuter un script bash à l'arrêt de l'ordi, n'ayant pas réussi à utiliser systemd, j'avais contourné le problème en créant un nouveau bouton arrêt qui exécutait mon script avant d'éteindre l'ordi
Dernière modification par Compte supprimé (Le 23/11/2018, à 12:08)
#5 Le 23/11/2018, à 12:24
- bruno
Re : [Résolu] Script à l'arrêt
Salut,
Sans garantie, mais cela devrait fonctionner :
- créer un fichier /etc/systemd/system/nfs_force_umount.service contenant :
[Unit]
Description=Force unmount of NFS shares
Before=systemd-poweroff.service
[Service]
RemainAfterExit=yes
ExecStop=/chemin/vers/script/qui/force/le/demontage
[Install]
WantedBy=multi-user.target
Le script chemin/vers/script/qui/force/le/demontage doit être exécutable et appeler les exécutables avec leur chemin complet (ex: /bin/umount)
Activer le service :
sudo systemctl enable nfs_force_umount.service
EDIT : correction des dépendances pour que cela fonctionne toujours.
-------------
@diesel83140 : c'est un peu abrupt, surtout que cette documentation ne traite absolument pas du problème posé. Si ce n'est qu'effectivement il faut utiliser un service systemd.
Dernière modification par bruno (Le 03/12/2018, à 17:11)
#6 Le 23/11/2018, à 16:16
- diesel
Re : [Résolu] Script à l'arrêt
@diesel83140 : c'est un peu abrupt, surtout que cette documentation ne traite absolument pas du problème posé. Si ce n'est qu'effectivement il faut utiliser un service systemd.
C'est vrai.
Je ferai mieux la prochaine fois.
Amicalement.
Jean-Marie
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#7 Le 01/12/2018, à 16:01
- LukePerp
Re : [Résolu] Script à l'arrêt
- créer un fichier /etc/systemd/system/nfs_force_umount.service contenant :
[Unit] Description=Force unmount of NFS shares Before=systemd-poweroff.service [Service] RemainAfterExit=yes ExecStop=/chemin/vers/script/qui/force/le/demontage [Install] WantedBy=systemd-poweroff.service
Le script chemin/vers/script/qui/force/le/demontage doit être exécutable et appeler les exécutables avec leur chemin complet (ex: /bin/umount)
Activer le service :
sudo systemctl enable nfs_force_umount.service
Malheureusement, ça n'a pas fonctionné. J'ai suivi tes suggestions, en pointant mon script qui fais un truc simple :
/bin/echo ">>> " $(/bin/date -I"minutes") >> /home/luke/test.log
Ensuite, j'ai suivis les suggestions de ces liens, également sans succès. Je n'ai plus d'idée, pourriez-vous svp
Voici la dernière version du service utilisé :
[Unit]
Description=Force unmount of NFS shares
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/home/luke/Documents/Scripts/test.sh
[Install]
WantedBy=multi-user.target
https://unix.stackexchange.com/question … e-shutdown
https://superuser.com/questions/1016827 … th-systemd
https://bbs.archlinux.org/viewtopic.php?id=188858
https://unix.stackexchange.com/question … -at-reboot
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum
Hors ligne
#8 Le 03/12/2018, à 06:49
- bruno
Re : [Résolu] Script à l'arrêt
Salut,
J'ai testé le service indiqué en #5 sur une Ubuntu 18.04, il fonctionne.
EDIT : à une modification près reportée en #5.
Dernière modification par bruno (Le 03/12/2018, à 17:12)
#9 Le 03/12/2018, à 06:59
- LukePerp
Re : [Résolu] Script à l'arrêt
Salut,
J'ai testé le service indiqué en #5 sur une Ubuntu 18.04, il fonctionne.
Que contient ton script de test ? Je vais essayer la même chose
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum
Hors ligne
#10 Le 03/12/2018, à 08:01
- metalux
Re : [Résolu] Script à l'arrêt
Bonjour,
A l'extinction, les fichiers passent en lecture seule, c'est pourquoi ton "echo" en #7 ne fonctionne pas. Il faut exécuter ton script AVANT que le système soit remonté en lecture seule pour que le "echo" puisse se faire. Si ton script doit modifier des fichiers, il faut en tenir compte.
Pour info, j'avais trouvé la réponse sur le forum anglophone, mais je n'arrive pas à remettre la main sur la discussion.
Edit: https://unix.stackexchange.com/question … e-shutdown
Dernière modification par metalux (Le 03/12/2018, à 08:12)
Hors ligne
#11 Le 03/12/2018, à 09:21
- ar barzh paour
Re : [Résolu] Script à l'arrêt
j'ai moi même essayé systemd sans succès résolu
https://forum.ubuntu-fr.org/viewtopic.p … 8#p2201591
Dernière modification par ar barzh paour (Le 04/12/2018, à 09:51)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram Ubuntu 22.04 Ubuntu 24.04 , W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#12 Le 03/12/2018, à 11:57
- LukePerp
Re : [Résolu] Script à l'arrêt
C'est franchement difficile et très peu accessible à l'utilisateur ordinaire cette histoire. Autant ubuntu a un outil GUI pour gérer les applis au démarrage, autant les solutions à l'arrêt sont compliquées. J'espère qu'ils vont améliorer ça.
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum
Hors ligne
#13 Le 03/12/2018, à 14:03
- bruno
Re : [Résolu] Script à l'arrêt
Le script que j'ai utilisé pour tester :
#!bin/bash
/bin/echo "Arrêt..." >> /var/log/test.log
exit 0
Il faut bien penser à activer (enable) et à lancer (start) le service avant de tester l'extinction de la machine.
#14 Le 03/12/2018, à 19:43
- LukePerp
Re : [Résolu] Script à l'arrêt
C'est bon, ça fonctionne. Comme j'ai fait plusieurs manip' je ne sais pas exactement ce qui avait coincé au départ. En tous cas, comme mon script était un test d'écriture sur la partition home, il fallait que le service spécifie de conserver home comme a indiqué xubu.
Voici mon service qui fonctionne, concernant mon script de test :
[Unit]
Description=Test du service à l'arret
RequiresMountsFor=/home
Before=shutdown.target reboot.target halt.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStop=/home/luke/Documents/test.sh
[Install]
WantedBy=multi-user.target
Mon script /home/luke/Documents/test.sh contient :
/bin/echo ">>> " $(/bin/date -I"minutes") >> /home/luke/test.log
Merci à vous
Gamer inside - Ubuntu Mate dernière LTS - Intel i5, 16 Go - Dual boot Windows - Utilisateur de Dapps sur Ethereum
Hors ligne