Page 1 of 1

Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 4:50 pm
by pierre68
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 :)

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 5:13 pm
by JF002
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.

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 5:14 pm
by totoharibo
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

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 7:20 pm
by pierre68
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)

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 7:32 pm
by JF002
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

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 8:48 pm
by jelopo
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+

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 8:50 pm
by jelopo
Bonjour,

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

A+

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 8:55 pm
by pierre68
Merci beaucoup, je vous dirai ci-cela marche

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Apr 28, 2013 8:59 pm
by JF002
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'.

Re: Comment lancer script shell automatiquement au demarage

Posted: Mon Apr 29, 2013 12:27 pm
by tempest69
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

Re: Comment lancer script shell automatiquement au demarage

Posted: Tue Apr 30, 2013 5:27 am
by jelopo
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+

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Oct 21, 2018 11:19 am
by Damsss
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 ...

Re: Comment lancer script shell automatiquement au demarage

Posted: Sun Oct 21, 2018 2:22 pm
by totoharibo
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)