# Systemctl Script au démarrage

**URL:** <https://www.debian-fr.org/t/systemctl-script-au-demarrage/90493>\
**Category:** Support Debian\
**Created:** [Octobre 26, 2024, 3:21 UTC](https://www.debian-fr.org/t/systemctl-script-au-demarrage/90493 "2024-10-26T15:21:01Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Octobre 26, 2024, 3:21 UTC](https://www.debian-fr.org/t/systemctl-script-au-demarrage/90493/1 "2024-10-26T15:21:01Z")

</div>

Bonjour  
Sur mon orangepi 3B, un bug impose de réinitialiser la carte ethernet afin de disposer du réseau  
Il est documenté ici [https://www.reddit.com/r/OrangePI/comments/1aojmn3/orange\_pi\_3b\_ethernet\_doesnt\_work/](https://www.reddit.com/r/OrangePI/comments/1aojmn3/orange_pi_3b_ethernet_doesnt_work/)

De ce fait j’ai écrit ce script tout simple et ça passe

```
#!/bin/sh

# SOURCE https://www.reddit.com/r/OrangePI/comments/1aojmn3/orange_pi_3b_ethernet_doesnt_work/

io -4 0xFDC60284 0x3f3f3f3f
io -4 0xFDC6028C 0x003f003f
io -4 0xFDC60298 0x3f003f00
io -4 0xFDC6029C 0x3f3f3f3f
io -4 0xfdc60388 0xFFFF0049

service networking restart

```

Mais pour le lancer , il faut que je sois connecté physiquement au serveur

J’ai bien essayé d’écrire un script systemd pour automatiser son lancement mais, il ne fonctionne pas. Je pense que je le lance à un mauvais moment de la procédure d’initialsation

Le voici

```
cat /etc/systemd/system/fixethernet.service 
[Unit]
Description=Correction BUG ethernet
ConditionPathExists=/home/crust/scripts/fixethernet.sh
After=network.target
 
[Service]
Type=forking
ExecStart=/home/crust/scripts/fixethernet.sh start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

```

Le After=network.target ne doit pas être la bonne valeur … mais laquelle mettre pour le lancer ni trop tôt ni trop tard ?

J’ai bien lu cette doc mais tout cela est confus pour trouver le bon target [Systemd Before= After= Wants= RequiredBy= demystified | Blog de zarak](https://zarak.fr/sre/systemd-dependencies/)

Un petit coup de pouce serait le bienvenu, merci d’avance 😉

---

<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:** [Octobre 26, 2024, 10:11 UTC](https://www.debian-fr.org/t/systemctl-script-au-demarrage/90493/3 "2024-10-26T22:11:16Z")

</div>

Bonjour,  
Si c’est après le reboot du serveur tu peux le faire avec crontab:

```auto
sudo crontab -e

@reboot . /usr/local/sbin/script.sh

```

Ou bien avec systemd:

```auto
vim /etc/systemd/system/myscript.service

```

Avec

```auto
[Unit]
Description=Reboot message systemd service.
[Service]
Type=simple
ExecStart=/usr/local/sbin/script.sh
[Install]
WantedBy=multi-user.target

```

et ensuite:

```auto
chmod 644 /etc/systemd/system/myscript.service
systemctl enable myscript.service

```

---

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Octobre 27, 2024, 8:48 UTC](https://www.debian-fr.org/t/systemctl-script-au-demarrage/90493/4 "2024-10-27T08:48:19Z")

</div>

Merci Zargos  
Effectivement j’aurais du penser à la crontab… Mais j’étais bloqué sur systemd  
+1,  
Je teste cela ce jour 😉 et fais un retour

---

<div class="post-metadata">

**Author:** ![crustyourmind](https://www.debian-fr.org/user_avatar/www.debian-fr.org/crustyourmind/32/2955_2.png) [@crustyourmind](https://www.debian-fr.org/u/crustyourmind)\
**Post date:** [Octobre 30, 2024, 3:56 UTC](https://www.debian-fr.org/t/systemctl-script-au-demarrage/90493/5 "2024-10-30T15:56:38Z")

</div>

Après test, j’ai opté pour la crontab root

Juste compléter le chemin complet pour les binaires

```
/usr/local/bin/io -4 0xFDC60284 0x3f3f3f3f
/usr/local/bin/io -4 0xFDC6028C 0x003f003f
/usr/local/bin/io -4 0xFDC60298 0x3f003f00
/usr/local/bin/io -4 0xFDC6029C 0x3f3f3f3f
/usr/local/bin/io -4 0xfdc60388 0xFFFF0049

/usr/sbin/service networking restart

```

Sur cron

`@reboot /home/crust/scripts/fixethernet.sh`

Merci Zargos 😉
