Lien vers [[anthony_messe:anthony_messe|l'accueil]]
====== Exécution d'un script au démarrage de la BPi M1+ ======
===== Prérequis =====
Premièrement il faut vérifier que le script iptables s'exécute bien manuellement.
Pour cela, placez-vous dans le répertoire contenant ce dernier et exécutez-le :
./nom_du_script.sh
N'oubliez pas non-plus de donner les droits d'exécution
chmod +x nom_du_script.sh
La première ligne du script doit être
#!/bin/sh
Pour la suite on suppose que le script se trouve dans ///root//
root@debian:~/Documents# pwd
/root
===== Automatisation =====
==== Avec systemd (fonctionne) ====
On crée un fichier .service
cd /etc/systemd/system/
nano iptables_access_point.service
Qui contient les lignes suivantes :
[Unit]
Description=Setup firewall
After=network.target local-fs.target
[Service]
RemainAfterExit=true
ExecStart=/root/iptables_access_point.sh
[Install]
WantedBy=multi-user.target
> Veillez bien à ce que //ExecStart// mène à votre fichier
> //iptables_access_point.sh// étant le nom que vous lui avez donné
On active le service
systemctl enable iptables_access_point.service
On redémarre
reboot
Le fichier contenant des commandes iptables, on vérifie avec la commande :
iptables -L
Et on constate que le script a bien été exécuté au démarrage.
==== Avec la crontab (ne fonctionne pas) ====
Éditez la crontab
crontab -e
Choisissez l'éditeur que vous souhaitez utiliser (nano étant le plus simple).
Placez-vous tout en bas du fichier (ctrl +v).
Ajoutez la ligne suivante :
@reboot /chemin/vers/le/script.sh
Ce qui donne dans notre cas :
@reboot /root/Documents/iptables_access_point.sh
==== Avec init.d (ne fonctionne pas) ====
On copie le fichier dans ///etc/init.d///
cp /root/iptables_access_point.sh /etc/init.d/
On crée un lien symbolique
ln -s /etc/init.d/iptables_access_point.sh /etc/rc.d/
===== Ressources =====
* https://stackoverflow.com/questions/12973777/how-to-run-a-shell-script-at-startup
* http://lea-linux.org/documentations/Systemd
* https://linuxfr.org/users/coren/journaux/creer-un-service-sous-systemd