IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applications et environnements graphiques Discussion :

Exécution script à la fermeture de session


Sujet :

Applications et environnements graphiques

  1. #1
    Membre averti
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Salarié
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Par défaut Exécution script à la fermeture de session
    Bonjour à tous,

    Nouveau Linuxien depuis quelques mois encore en mode découverte, je viens sollicité votre aide.
    Je suis sous Linux Mint 22.1, Cinnamon 6.4.8
    Il y a quelques temps j'ai écrit un script en bash avec log complet qui me gère des backups de différents dossiers de configuration de package sur mon NAS.
    Le principe est simple, pour chaque package inscrit dans une liste, il me calcul le hashe du dossier correspondant et vérifie si un backup existe déjà.
    -Si celui-ci n'existe pas, alors une archive 7z est créé.
    -S'il existe, dans ce cas le script récupère le dernier hashe sauvegardé et fait une comparaison avec le nouveau.
    -Si les 2 hashes sont identiques, on passe au package suivant.
    -S'ils ne sont pas identiques, dans ce cas le script note quels sont les fichiers/dossiers à rajouter ou à modifier, et vérifie aussi s'il faut en supprimer de l'archive.
    Ce script (que je vais appelé Backup.sh pour ce post) possède même un versionnage et est exécuté dans une fenêtre gnome-terminal afin de suivre la progression en cas de besoin. (pour info, un des backups concerne une bouteille de Jeux du package Bottles, et ce dossier à lui seul fait dans les 50Go.)

    Le versionnage est géré par un autre script (Compare.sh) qui lui est encore plus simple. Dans une fenêtre gnome-terminal il compare les numéro de version de la version locale (dans /opt/.Script) de Backup.sh avec la version distante (dans un dossier de mon NAS). Si les numéro diffère, alors Compare.sh récupère la dernière version de Backup.sh et le lance à la suite dans la même fenêtre.
    Ces 2 scripts sont 100% fonctionnel. Tout mes tests sont effectué sur un autre PC qui est destiné qu'à tester tout mes scripts.

    Maintenant voici mon souhait : j'aimerai que Compare.sh soit exécuté dès que la fermeture d'une session ou l'arrêt de l'ordinateur est demandé. Jusqu'à présent je m'aidais de ChatGPT pour bien comprendre et écrire les lignes de code, mais pour cette partie je crois que j'ai atteint ses limites car il me fait tourner en rond entre systemd, systemd --user, et dernièrement les extension cinnamon, sans aucun succès.
    Actuellement cela fonctionne au démarrage de l'ordinateur, mais c'est un processus qui être assez long, surtout quand le backup de la bouteille Jeux doit être mis à jour et c'est pour cela que j'aimerai que cela se fasse à la fin.

    En vous remerciant par avance de vos retours.

    Karlemagne.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    Bonjour,

    quand j'allume mon ordinateur, j'ai quelque chose à faire avec l'ordi.
    quand j'éteinds mon ordinateur, c'est que je n'ai plus rien à faire sur l'ordi, et autre chose à faire ailleurs.

    en conséquence, si j'ai un processus à surveiller, je préfère qu'il soit exécuté (automatiquement) au démarrage de ma session.

    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    Pour moi, les backup devrait se faire en arrière plan, le log est là pour permettre de surveiller son bon déroulement, donc si compare.sh se lançait en arrière plan, tu n'aurais pas cette possible attente plus ou moins longue.
    Cordialement.

  4. #4
    Membre averti
    Homme Profil pro
    Salarié
    Inscrit en
    Octobre 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Salarié
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 16
    Par défaut
    Bonjour,

    Je vous remercie pour vos réponses, même si ce n'est pas du tout le type de réponse que j'attendais.

    @disedorgue, que mon archivage s'exécute en arrière plan ou en avant plan dans une fenêtre terminal, cela ne changerai rien à la durée. Je pourrai effectivement faire abstraction de tout affichage, mais sachant que ma bouteille Jeux de plus de 50Go peut mettre quelques dizaine de minutes à être archivé, comment puis-je savoir (si je constate que l'ordinateur ne s'est toujours pas éteint au bout de 20min par exemple) que mon script s'exécute tranquillement ou que le PC est planté sans avoir pu déclencher ma fonction d'arrêt en cas d'erreur ? C'est uniquement pour cela que je souhaite avoir un éventuel visuel. Tout est automatisé de ce coté là pour éviter tout interaction utilisateur. Une fois lancé, le script se débrouille tout seul comme un grand.

    @N_BaH, je comprend parfaitement ta logique, et c'est actuellement comme cela que je fonctionne, sauf que moi cela ne me convient pas. Mon souhait est que le script se déclenche dès lors que je clique sur le bouton "Me déconnecter" ou même "Eteindre" du menu Cinnamon. Pourquoi je souhaite cela ? dans la simple hypothèse (déjà vécue) ou pour une raison ou une autre Linux refuserai de démarrer, mes backups ne pourraient pas se mettre à jour et je perdrai tout ce qui a pu être fait la veille. Et je pourrai au moins récupérer mes dernières archives vraiment à jour après réinstallation à neuf, ce qui ne sera pas le cas si mon backup s'exécute à la session suivante...

    J'ai conscience que je demande peut-être l'impossible, mais j'ai cru comprendre à force d'utilisation que même l'impossible peut être possible dans le monde de Linux, ce qui est loin d'être le cas sous Windows.

    Une nouvelle fois je vous remercie de toute aide que je pourrai recevoir pour m'aider à réaliser ce projet.

    Cordialement,

    Karlemagne.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    dans la simple hypothèse (déjà vécue) ou pour une raison ou une autre Linux refuserai de démarrer, mes backups ne pourraient pas se mettre à jour et je perdrai tout ce qui a pu être fait la veille
    +1
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 654
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 654
    Par défaut
    ta question portant sur l'exécution de commandes à la fermeture de l'environnement graphique Cinnamon, j'ai fait créer un lien de cette discussion vers le sous-forum Linux / Applications et environnements graphiques

    je vois des réponses en faisant une recherche rapide sur « linux cinnamon run command on logout » ...
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. Exécuter un script avant la fermeture de session
    Par uknow dans le forum Windows XP
    Réponses: 3
    Dernier message: 18/09/2010, 04h10
  2. script ouverture/fermeture session
    Par jprou dans le forum Windows
    Réponses: 1
    Dernier message: 14/04/2010, 16h59
  3. Script de fermeture de session ne fonctionne pas
    Par GutsRed dans le forum C++
    Réponses: 3
    Dernier message: 13/02/2010, 17h55
  4. Executer script à la fermeture de session
    Par lavazavio dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 08/05/2008, 13h48
  5. Script pour afficher la popup "Fermeture de session Win
    Par Childerik dans le forum VBScript
    Réponses: 1
    Dernier message: 28/12/2005, 20h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo