Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
technique:systemd [2020/04/11 02:26] – modification externe 127.0.0.1 | technique:systemd [2020/09/22 23:22] – francoisa | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | Systemd | + | ====== |
- | Créer un service systemd : Dans / | + | Créer un service systemd : Dans / |
+ | < | ||
+ | [Unit] | ||
+ | Description=My Daemon | ||
+ | After=network.target | ||
+ | |||
+ | [Service] | ||
+ | User=root | ||
+ | WorkingDirectory=/ | ||
+ | Environment=" | ||
+ | ExecStart=/ | ||
+ | Restart=always | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | |||
+ | </ | ||
+ | |||
+ | Rendre le service actif au démarrage : | ||
+ | |||
+ | < | ||
+ | systemctl enable service_name.service | ||
+ | |||
+ | </ | ||
+ | |||
+ | Si le service est modifié : | ||
+ | |||
+ | < | ||
+ | systemctl daemon-reload | ||
+ | |||
+ | </ | ||
+ | |||
+ | Et le relancer et voir son statut | ||
+ | |||
+ | < | ||
+ | systemctl restart mgreport.service | ||
+ | |||
+ | systemctl status mgreport.service | ||
+ | |||
+ | </ | ||
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 | + | < |
+ | [Unit] | ||
+ | Description=Run foo weekly | ||
+ | |||
+ | [Timer] | ||
+ | OnCalendar=weekly # ou OnCalendar=Mon..Fri 22:30 ou OnBootSec=15min | ||
+ | Persistent=true | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=timers.target | ||
+ | |||
+ | </ | ||
+ | |||
+ | Rendre le timer actif avec : | ||
+ | |||
+ | < | ||
+ | systemctl | ||
+ | |||
+ | </ | ||
Et le tester avec | Et le tester avec | ||
+ | < | ||
systemctl start monservice.timer | systemctl start monservice.timer | ||
+ | |||
+ | </ | ||
Et lister les timer avec : | Et lister les timer avec : | ||
+ | < | ||
systemctl list-timers | systemctl list-timers | ||
- | Voir doc Archlinux : | + | </ |
- | [[https:// | + | |
+ | ===== Variables d' | ||
+ | |||
+ | On peut ajouter des variables d' | ||
+ | |||
+ | < | ||
+ | [Service] | ||
+ | Environment=" | ||
+ | |||
+ | </ | ||
+ | |||
+ | Ou bien en définissant un fichier externe comme dans le script " | ||
+ | |||
+ | < | ||
+ | [Service] | ||
+ | EnvironmentFile=/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | et .env.systemd : | ||
+ | |||
+ | < | ||
+ | SECRETHTTPWEBHOOK=ijuqsmkdfjmlkjzdfsqf1857561321 | ||
+ | APIKEY=mljsmqljkmljkqsdf5f154321 | ||
+ | MAILFROM=mail1@cemea.asso.fr | ||
+ | MAILADMIN=mail2@cemea.asso.fr | ||
+ | |||
+ | </ | ||
+ | |||
+ | Voir doc Archlinux : [[https:// | ||