technique:systemd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
technique:systemd [2020/04/11 02:26] – modification externe 127.0.0.1technique:systemd [2020/09/22 23:22] francoisa
Ligne 1: Ligne 1:
-Systemd+====== Systemd ======
  
-Créer un service systemd : Dans /etc/systemd/system+Créer un service systemd : Dans /etc/systemd/system : ''service_name.service''
 +<code> 
 +[Unit] 
 +Description=My Daemon 
 +After=network.target 
 + 
 +[Service] 
 +User=root 
 +WorkingDirectory=/srv/mgreport/mailgunreport/ 
 +Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6" # ici 3 variables définies VAR1, VAR2, VAR3 
 +ExecStart=/bin/myforegroundcmd 
 +Restart=always 
 + 
 +[Install] 
 +WantedBy=multi-user.target 
 + 
 +</code> 
 + 
 +Rendre le service actif au démarrage : 
 + 
 +<code> 
 +systemctl enable service_name.service 
 + 
 +</code> 
 + 
 +Si le service est modifié : 
 + 
 +<code> 
 +systemctl daemon-reload 
 + 
 +</code> 
 + 
 +Et le relancer et voir son statut 
 + 
 +<code> 
 +systemctl restart mgreport.service 
 + 
 +systemctl status mgreport.service 
 + 
 +</code>
  
 Créer un timer pour le même service : monservice.timer Créer un timer pour le même service : monservice.timer
  
-Rendre le timer enable avec systemctl+<code> 
 +[Unit] 
 +Description=Run foo weekly 
 + 
 +[Timer] 
 +OnCalendar=weekly # ou  OnCalendar=Mon..Fri 22:30 ou  OnBootSec=15min 
 +Persistent=true 
 + 
 +[Install] 
 +WantedBy=timers.target 
 + 
 +</code> 
 + 
 +Rendre le timer actif avec 
 + 
 +<code> 
 +systemctl enable monservice.timer 
 + 
 +</code>
  
 Et le tester avec Et le tester avec
  
 +<code>
 systemctl start monservice.timer systemctl start monservice.timer
 +
 +</code>
  
 Et lister les timer avec : Et lister les timer avec :
  
 +<code>
 systemctl list-timers systemctl list-timers
  
-Voir doc Archlinux : +</code> 
-[[https://wiki.archlinux.org/index.php/Systemd/Timers|https://wiki.archlinux.org/index.php/Systemd/Timers]]+ 
 +===== Variables d'environnement ===== 
 + 
 +On peut ajouter des variables d'environnement au Exec avec : 
 + 
 +<code> 
 +[Service] 
 +Environment="FOO=bar baz" 
 + 
 +</code> 
 + 
 +Ou bien en définissant un fichier externe comme dans le script "mailgunreport"
 + 
 +<code> 
 +[Service] 
 +EnvironmentFile=/srv/mgreport/mailgunreport/.env.systemd 
 + 
 +</code> 
 + 
 +et .env.systemd : 
 + 
 +<code> 
 +SECRETHTTPWEBHOOK=ijuqsmkdfjmlkjzdfsqf1857561321 
 +APIKEY=mljsmqljkmljkqsdf5f154321 
 +MAILFROM=mail1@cemea.asso.fr 
 +MAILADMIN=mail2@cemea.asso.fr 
 + 
 +</code> 
 + 
 +Voir doc Archlinux : [[https://wiki.archlinux.org/index.php/Systemd/Timers|https://wiki.archlinux.org/index.php/Systemd/Timers]] 
  
  • technique/systemd.txt
  • Dernière modification : 2024/04/02 15:08
  • de 127.0.0.1