URL: https://linuxfr.org/users/hugotrip/journaux/systemd-a-la-maison Title: Systemd à la maison Authors: hugotrip Date: 2021年04月14日T00:29:45+02:00 License: CC By-SA Tags: systemd Score: 92 Bonjour nalles et naux, Pour mon premier journal, je voudrais vous parler de l'intérêt de Systemd au niveau de l'utilisateur. N'ayant ni fait des études, ni travaillé dans l'informatique, l'élite de ce site (qui n'apprendra donc rien dans ce journal) comprendra donc que mon langage manque de rigueur, et aura bien sûr l'indulgence et la bienveillance de ceux qui savent. ## Mon premier service au détour d'un site dont j'ai oublié le nom, j'ai découvert qu'il existait un mode utilisateur à systemd, qui permettait donc de lui demander de me rendre des services. Et ça tombait bien, car je cherchais mollement à automatiser une synchronisation de clé USB, au branchement de celle-ci, et le peu que j'avais vu de udev me paraissait compliqué. Ici, il suffit d'identifier l'unité correspondant au montage de ma clé USB, avec: `systemctl list-units -t mount` puis d'écrire le fichier synchro-usb.service qui va bien : ``` [Unit] Description= Synchro maclef Requires=maclef.mount After=maclef.mount [Service] ExecStart=/Chemin/Vers/Mon/Script_de_synchro.sh [Install] WantedBy=maclef.mount ``` la section [unit] précise les conditions nécessaires à l'exécution du service, et la section [Install] permet ici d'indiquer qu'il faut rendre ce service de façon automatique au montage de ma clef. On enregistre ce fichier dans le répertoire (à créer si nécessaire) `~/.config/systemd/user` puis on demande poliment à systemd de démarrer ce service : `systemctl --user start synchro-usb.service` Et puis aussi de l'activer : `systemctl --user enable synchro-usb.service` Et voilà. ## Ok Systemd, ... Et je me suis rendu compte que Systemd pouvait être vraiment serviable : j'ai créé un service qui vérifiait mes comptes via ~~boobank~~ woob bank au login (WantedBy=default.target), pour me prévenir si le solde dépassait un certain plancher, mais avec les nouvelles contraintes d'authentification, ça ne marche plus :(. Et j'ai aussi automatisé des sauvegardes de façon hebdomadaire : pour cela il faut créer fichier .timer qui porte le même nom que le fichier .service, qui n'a plus alors (forcément ?) à contenir de section [Install]. Un exemple de fichier .timer, pour vous montrer que la syntaxe peut être plus simple qu'avec cron : ``` [Unit] Description=Backup du mercredi [Timer] OnCalendar=Wed 19:00 Persistent=true [Install] WantedBy=timers.target ``` la ligne persistent=true, permet que si mon ordi n'est pas allumé un mercredi à 19h, le service me soit quand même rendu, à la première occasion. ## What else S'il y en a qui utilisent aussi Systemd comme assistant personnel, je serai curieux de savoir quels autres services on peut lui demander.