pierre68
Posts: 56
Joined: Wed Nov 21, 2012 9:36 pm

Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 4:50 pm

Bonjour,

Alors en fait j'ai un script shell dans un répertoire donné et j'aimerai que le Raspberry le lance automatiquement quand il démarre. (sans même que j'ai ouvert une session)

voilà voila je pense que ma question est claire, merci de vos réponses :)

JF002
Posts: 93
Joined: Sat Feb 04, 2012 8:49 am
Contact: Website

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 5:13 pm

Je pense que tu as 2 solutions:

Soit, le lancer en temps que service : Il te faut créer un fichier dans /etc/init.d de la forme suivante:

Code: Select all

 #!/bin/sh
### BEGIN INIT INFO
# Provides: tonServer
# Required-Start: $syslog
# Required-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Lance tonService
# Description: Lance tonService
### END INIT INFO

case "$1" in
start)
echo "Starting tonService"
laCommandeVersTonSevice
;;
stop)
echo "Stopping tonService"
laCommandePourArrêterTonService
;;
*)
echo "Usage: /etc/init.d/tonService {start|stop}"
exit 1
;;
esac
exit 0
Ensuite, il faut l'ajouter aux service à ajouter au démarrage:

Code: Select all

sudo update rc.d tonService defaults
Ou alors, tu peux ajouter simplement la commande dans /etc/rc.local. Ce script sera exécuté juste avant de proposer de te logguer.
My web site : https://codingfield.com

totoharibo
Posts: 3945
Joined: Thu Jan 24, 2013 8:43 am

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 5:14 pm

si c'est pas du graphisme avec rapbian, modifie /etc/inittab vers la ligne avec
1:2345:respawn:/sbin ...
avec respawn ça redémarre automatiquement si tu l'arrêtes.

man inittab est ton guide

pierre68
Posts: 56
Joined: Wed Nov 21, 2012 9:36 pm

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 7:20 pm

JF002 Je pense que je vais choisir ta deuxième solution, j'ai été voir le fichier, mais je ne suis pas sur de t'a voir bien compris
tu peux ajouter simplement la commande dans /etc/rc.local.
Est-ce qu'il suffit que je copie mon script shell en entier dans ce fichier ?? ou alors une sorte de raccourci vers le shell exécutable ?? (ce que je ne vois pas comment faire)

JF002
Posts: 93
Joined: Sat Feb 04, 2012 8:49 am
Contact: Website

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 7:32 pm

rc.local est un script bash tout à fait normal, appelé par init à la fin de l'init, justement.

Donc, soit tu copies le contenu de ton script dedans, soit, mieux, tu appelles ton script. Je pense qu'en Bash, tu peux faire :

Code: Select all

exec "chemin vers ton script"
ou

Code: Select all

bash tonscript.sh
My web site : https://codingfield.com

jelopo
Posts: 1415
Joined: Wed Oct 17, 2012 7:53 pm

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 8:48 pm

Bonjour,

Pour appeler un script dans /etc/rc.local il vaut mieux le lancer en arrière plan (& en fin de ligne commande)
Par exemple pour un script nommé "script.sh" contenu dans un repertoire "chemin_du_script", tu colle cette ligne avant la ligne exit 0 de /etc/rc.local

Code: Select all

/chemin_du_script/script.sh &

A+

jelopo
Posts: 1415
Joined: Wed Oct 17, 2012 7:53 pm

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 8:50 pm

Bonjour,

Attention, j'oubliais, ton script sera lancé par l'utilisateur root et il faut qu'il soit exécutable.

A+

pierre68
Posts: 56
Joined: Wed Nov 21, 2012 9:36 pm

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 8:55 pm

Merci beaucoup, je vous dirai ci-cela marche

JF002
Posts: 93
Joined: Sat Feb 04, 2012 8:49 am
Contact: Website

Re: Comment lancer script shell automatiquement au demarage

Sun Apr 28, 2013 8:59 pm

jelopo wrote:Attention, j'oubliais, ton script sera lancé par l'utilisateur root et il faut qu'il soit exécutable.
En effet! Moi j'utilise "su" pour lancer la commande sous un autre user:

Code: Select all

su -c 'la commande' - user
Cela va exécuter 'la commande' sous l'utilisateur 'user'.
My web site : https://codingfield.com

tempest69
Posts: 16
Joined: Sat Sep 15, 2012 10:58 am

Re: Comment lancer script shell automatiquement au demarage

Mon Apr 29, 2013 12:27 pm

Autrement y a aussi crontab qui est fait pour ça :
avec une ligne comme ceci (crontab -e ou su crontab -e) :

Code: Select all

@reboot /bin/bash /home/monuser/monscript.sh
lancera le script /home/monuser/monscript.sh au démarrage

jelopo
Posts: 1415
Joined: Wed Oct 17, 2012 7:53 pm

Re: Comment lancer script shell automatiquement au demarage

Tue Apr 30, 2013 5:27 am

Bonjour,

Pour compléter le post de tempest69, j'ajouterais même un redirection vers une log pour voir ce qui c'est passé.

Code: Select all

    @reboot /bin/bash /home/monuser/monscript.sh > /home/monuser/monscript.log 2>&1
A+

Damsss
Posts: 1
Joined: Sun Oct 21, 2018 11:12 am

Re: Comment lancer script shell automatiquement au demarage

Sun Oct 21, 2018 11:19 am

Bonjour,

Je voudrais lancer automatiquement mon vpn au démarrage de mon PI 3.

J’ai essayé tout les tuto disponible mais sans succès ...

Ce que je voudrais faire:

-Lancer au démarrage le Terminal
-Exécuté ma commande (sudo openvpn - -config mon fichier.ovpn )
-2 lignes s’affiche ou il faut rentré son login et son mdp (créer un script je pense ..)

Help me ...

totoharibo
Posts: 3945
Joined: Thu Jan 24, 2013 8:43 am

Re: Comment lancer script shell automatiquement au demarage

Sun Oct 21, 2018 2:22 pm

l'informatique ça vit :lol:
depuis 2013 ...
maintenant c'est systemd : il n'y a plus d'/etc/inittab. Si tu en trouves un c'est que ta distrib est vieille.

par contre le crontab ça marche encore comme avant

éditer avec su crontab -e (en root)

pour l'entrée des identifiants pas moyen de spécifier dans le fichier de config ?

Parce que c'est pas interactif.

(je n'utilise pas vpn)

Return to “Français”