# Documentation systemd fichier service

**URL:** <https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487>\
**Category:** Support Debian\
**Created:** [Janvier 26, 2024, 4:32 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487 "2024-01-26T16:32:41Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Janvier 26, 2024, 4:32 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/1 "2024-01-26T16:32:41Z")

</div>

Bonjour,

J’ai un service que je dois reécriore car je pense qu’il n’est plus à jour au regard de la version actuelle de systemd:

```auto
[Unit]
Description=Exports USB device over IP
Requires=network-online.target
After=network-online.target

[Service]
Type=simple
Restart=on-failure
User=root
Group=root
ExecStart=/usr/sbin/usbipd 
ExecStartPost=/usr/sbin/usbip bind --busid=1-2
ExecStop=/usr/sbin/usbip unbind --busid=1-2

[Install]
WantedBy=multi-user.target

```

Normallement c’est sensé faire en sorte que le port USB 1-2 soit partagé sur le rféseau via usbipd.  
Cependant, le redémarrage sur _failure_ se fait trop rapidement et génère une erreur.  
De ce fait, le service doit faire en sorte que si celui-ci est arrêté il doit systématiquement être redémarré.  
Il doit essayer disons 3 fois, sinon il attend 40 sec et il recommence.

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Janvier 26, 2024, 4:48 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/2 "2024-01-26T16:48:47Z")

</div>

Tu devrais pouvoir le faire avec

StartLimitIntervalSec=interval & StartLimitBurst=burst

en cas de besoin supplémentaire tu peux aussi ajouter un sleep devant ta cde de start.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Janvier 26, 2024, 4:51 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/3 "2024-01-26T16:51:13Z")

</div>

Donc je devrais avoir?

```auto
[Unit]
Description=Exports USB device over IP
Requires=network-online.target
After=network-online.target
StartLimitIntervalSec=40
StartLimitBurst=3

[Service]
Type=simple
Restart=on-failure
User=root
Group=root
ExecStart=/usr/sbin/usbipd 
ExecStartPost=/usr/sbin/usbip bind --busid=1-2
ExecStop=/usr/sbin/usbip unbind --busid=1-2

[Install]
WantedBy=multi-user.target

```

Et sinon, où trouve-t-on la documentation complète?

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Janvier 26, 2024, 4:53 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/4 "2024-01-26T16:53:13Z")

</div>

[https://www.man7.org/linux/man-pages/man5/systemd.unit.5.html](https://www.man7.org/linux/man-pages/man5/systemd.unit.5.html)

Je crois (à vérifier) que les 2 cdes doivent se mettre dans la section service et pas unit.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Janvier 26, 2024, 5:00 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/5 "2024-01-26T17:00:31Z")

</div>

C’est bien dans la unit 🙂  
Merci, je teste et je reviendrais vous dire.  
mais pas tout de suite, là je fais une pause et un petit Sniper 5 🙂

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Janvier 26, 2024, 11:05 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/6 "2024-01-26T23:05:12Z")

</div>

> [@PmGs](#):
>
> Je crois (à vérifier) que les 2 cdes doivent se mettre dans la section service et pas unit.

C’est bien dans unit mais ce n’est pas bon quand même.  
Je n’ai pas du bien comprendre les options.  
Il faut que je creuse 🙂

---

<div class="post-metadata">

**Author:** ![PmGs](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/p/dfb087/32.png) [@PmGs](https://www.debian-fr.org/u/PmGs)\
**Post date:** [Janvier 26, 2024, 11:14 UTC](https://www.debian-fr.org/t/documentation-systemd-fichier-service/89487/7 "2024-01-26T23:14:03Z")

</div>

Si tu utilises syncthing, tu as un exemple

cat /lib/systemd/system/syncthing@.service

```
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
StartLimitIntervalSec=60
StartLimitBurst=4

[Service]
User=%i
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
Restart=on-failure
RestartSec=1
SuccessExitStatus=3 4
RestartForceExitStatus=3 4

# Hardening
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target
```
