Vous n'êtes pas identifié(e).
Fichier : media-sylvain-TOTO.automount
Fichier backup-sylvain.service
Bien sûr, le tout activé comme il se doit.
Mon problème : tout ceci marche très bien, la sauvegarde est lancée à l'insertion du disque USB... mais :
- si le disque n'est pas inséré lors du boot, j'ai un délais d'attente d'une minute lors du boot ; l'option noauto du mount n'y change rien ;
- si je démonte le disque, je ne peux plus relancer la sauvegarde si je le connecte à nouveau au cours d'une même session.
Je m'y perds franchement dans toutes les docs de systemd et j'ai essayé pas mal de choses sans succès.
Sylvain
Dernière modification par sylvain_78 (22-12-2023 12:09:22)
Hors ligne
Il vaut mieux montrer que raconter.
Hors ligne
Hors ligne
Hors ligne
Hors ligne
Il vaut mieux montrer que raconter.
Hors ligne
Hors ligne
toto.service
Dernière modification par sylvain_78 (09-11-2023 18:43:35)
Hors ligne
Le ATTRS{serial} est optionnel, auquel cas l'identification du disque sera à faire dans le script.
Activation de la règle :
/etc/systemd/system/toto.service
Désormais le script se lance à chaque branchement du disque USB.
Mais... le script se lance en root. Or j'aimerais informer l'utilisateur au lancement du script et à la fin du traitement. Pour le moment j'envoie un simple courriel à la fin mais ce n'est pas top. Mais bon, c'est un autre sujet...
Sylvain
Hors ligne
J'ai testé une commande root dans le script, elle est correctement bloquée.
Dernière modification par sylvain_78 (14-11-2023 17:03:51)
Hors ligne
Le service systemd (/etc/systemd/system/sync-files-on-disk.service) :
Concernant le service :
- les directives "User" et "Group" de la rubrique [Service] imposent une exécution du script toto.sh comme <user>. J'ai testé une commande root dans le script, elle a été bloquée.
- les directives "Environment" de la rubrique [Service] permettent de lancer des applications dans un environnement de bureau à partir du script toto.sh. La dernière est nécessaire si on souhaite utiliser dbus, comme dans mon cas avec notify-send. Les valeurs des clés sont obtenues en lançant printenv en <user> dans un terminal.
- la directive "OnSuccess" de la rubrique [Unit] permet de lancer un autre service lorsque dummy.service est terminé. Ici il s'agit de vider la file d'attente des messages à envoyer d'exim4 (je ne sais pas s'il est possible de le faire avec la commande mail).
Désormais toto.sh se lance à chaque branchement du disque USB. J'ai des notifications d'avancement et une synthèse dans une fenêtre et par courriel.
Il me reste à peaufiner le script...
Bon dimanche !
Sylvain
Dernière modification par sylvain_78 (19-11-2023 15:51:25)
Hors ligne
Dernière modification par sylvain_78 (24-12-2023 18:40:11)
Hors ligne
Bonjour !
Je suis venu à bout des difficultés et j'ai obtenu ce que je voulais avec votre aide.
Pour synthétiser le tout, j'ai commis le document suivant (je sais, Google c'est pas bien...) :
https://drive.google.com/file/d/1cSlsJB … drive_link (MàJ)
Bonjour,
Le lien est mort, pourrais tu remettre une synthèse ici ou en MP.
Je cherche à faire la même chose.
merci par avance
En ligne
Dernière modification par sylvain_78 (23-07-2024 17:36:20)
Hors ligne