• créer un service systemd

      1. Créer un fichier de service

      Les fichiers de service se trouvent généralement dans /etc/systemd/system/.

      Nommer le service avec l’extension .service (ex: mon_service.service) :

      sudo vi /etc/systemd/system/mon_service.service

      2. Éditer le fichier avec la configuration de base

      [Unit]
      Description=Description de mon service
      After=network.target  # Dépendances (optionnel)
      
      [Service]
      Type=simple
      ExecStart=/chemin/vers/le/script
      Restart=on-failure  # Redémarrage automatique en cas d'échec
      User=toto  # (Optionnel) Exécuter en tant qu'un utilisateur spécifique
      WorkingDirectory=/chemin/vers/repertoire  # (Optionnel)
      
      [Install]
      WantedBy=multi-user.target  # Permet de démarrer au boot

       

      [Unit] Métadonnées et dépendances.
      [Service] Configuration de l’exécution.
      [Install] Comportement à l’activation.

      3. Recharger systemd

      sudo systemctl daemon-reload

      4. Démarrer / arrêter le service

      Démarrer / arrêter le service

      sudo systemctl start mon_service

       

      sudo systemctl stop mon_service

      Vérifier l’état du service

      sudo systemctl status mon_service

      activer / désactiver le service au démarrage

      sudo systemctl enable mon_service

       

      sudo systemctl disable mon_service

      Journal des logs :

      sudo journalctl -u mon_service -f  # Affiche les logs en temps réel

      EXEMPLES

      Un script Python (/home/toto/mon_script.py) à exécuter en tant que service :

      [Unit]
      Description=Mon script Python
      
      [Service]
      Type=simple
      ExecStart=/usr/bin/python3 /home/toto/mon_script.py
      Restart=on-failure
      User=user
      WorkingDirectory=/home/user/
      
      [Install]
      WantedBy=multi-user.target

       

      Pour faire un montage spécial :

       

      sudo vi /etc/systemd/system/mon_montage.mount
      [Unit]
      Description=Montage SSHFS
      After=network.target
      
      [Mount]
      What=utilisateur@serveur:/chemin/distant
      Where=/mnt/remote
      Type=fuse.sshfs
      Options=_netdev,IdentityFile=/home/toto/.ssh/id_ed25519,allow_other,reconnect
      
      [Install]
      WantedBy=multi-user.target

       

      Activer le service

      sudo systemctl enable --now mon_montage.mount

       

      Voili, voilou !

 

Aucun commentaire

 

Laissez un commentaire