Pages : 1
#1 Le 26/12/2006, à 20:24
- didbag
Comment lancer un script au démarrage ?
Bonjour,
Pour que ma connexion wifi fonctionne, je dois exécuter dans un terminal "sudo dhclient ra0" à chaque démarrage de ma session.
Existe-t-il un moyen d'automatiser cette commande pour qu'elle se fasse toute seule à la fin du démarrage ?
(et si possible de façon à ce que je n'aie pas à retaper mon mot de passe à chaque fois)
Merci d'avance pour votre aide.
Hors ligne
#3 Le 27/12/2006, à 21:09
- didbag
Re : Comment lancer un script au démarrage ?
J'ai trouvé comment créer mon script de démarrage... mais j'ai encore un petit problème :
J'ai commencé par créer un script comme ceci :
sudo nano /etc/init.d/wifi
puis j'ai mis ceci dedans :
#!/bin/sh
# connecte le réseau
sudo dhclient ra0
Je lui ai ensuite attribué les droits d'exécution et j'ai créé les liens symboliques correspondants :
cd /etc/init.d
sudo chmod +x wifi
sudo update-rc.d wifi defaults
Maintenant la connexion s'effectue bien en automatique, mais le PC plante à l'extinction et parfois même au démarrage de la session gnome.
Ai-je oublié quelquechose ?
Hors ligne
#4 Le 27/12/2006, à 21:22
- Spalax
Re : Comment lancer un script au démarrage ?
J'ai trouvé comment créer mon script de démarrage...
Tu pourrais m'expliquer comment, s'il te plait ?
Hors ligne
#5 Le 27/12/2006, à 21:30
- didbag
Re : Comment lancer un script au démarrage ?
Et bien, tel que je l'ai décrit...en le créant dans init.d, puis en lui attribuant les droits d'exécution, et enfin en exécutant update-rc.d
Mon problème est que cela fait planter l'ordinateur une fois sur 2.
Hors ligne
#6 Le 30/12/2006, à 22:06
- krusaf
Re : Comment lancer un script au démarrage ?
Si tu créés un script de démarrage. Recopie celui ci /etc/init.d/skeleton.
Au démarrage ce script est appelé avec l'argument start . A l"instection, il est appelé avec l'argument stop. (Tu peux enlever la commande sudo dans le script. C'est exécuté en tant que root.)
Regarde le script skeleton t'auras une idée de ce à quoi cela doit ressembler
Hors ligne
#7 Le 09/01/2007, à 11:30
- gapz
Re : Comment lancer un script au démarrage ?
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing
Voila, c'est /etc/rc.local
Real programmers code in binary :: http://gapz.tuxfamily.org
Hors ligne
#8 Le 14/01/2009, à 20:50
- SimSim
Re : Comment lancer un script au démarrage ?
Bonjour
Il est peut être un peu tard mais pour la réalisation correcte d'un script il faut le coder d'une manière particulière détaillée à merveille ici :
http://www.andesi.org/admin:gerer-les-s … -demarrage
En gros c'est un code qui permet des actions différentes au démmarage et à l'arrêt (sinon le wifi se réinitialise à l'arrêt de l'ordi ==> perte de temps)
Ca permet donc de ne lancer le script qu'au démarrage (si on ne met rien dans stop).
#!/bin/sh
## Script basique donné à titre d'exemple et destiné à montrer
## comment fonctionne un script de démarrage.
## On pourrait utiliser la commande start-stop-daemon comme dans
## le script initial d'apache mais cela sortirait du cadre de cet
## article ;).
## On précise tout d'abord que c'est un script écrit en shell
## avec la ligne ci-dessus
## /etc/init.d/apache_exemple: démarre et arrête le service apache
## On définit la valeur de quelques variables avant de commencer
## le script proprement dit.
# Répertoires contenant de nombreux programmes exécutables
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Chemin vers le programme qui démarrera Apache
DAEMON=/usr/sbin/apache
# Optionnel : définit le nom et la description qui s'afficheront
# lors du démarrage ou de l'arrêt du script
NAME=apache
DESC="Webserver"
## Début du script proprement dit
# On vérifie tout d'abord que le programme apachectl est exécutable,
# sinon fin du script
test -x $DAEMON || exit 0
# Suivant l'argument que l'on va ajouter après le nom du script, on va
# définir différentes possibilités au script grâce à l'instruction
# case
case "$1" in
# si on tape # /etc/init.d/apache_exemple start, les instructions
# qui suivent vont être exécutées
start)
# Affiche : « Starting Webserver: apache »
# $DESC et $NAME sont bien entendu les variables que l'on a
# défini plus haut
echo -n "Starting $DESC: $NAME"
# Lance le serveur web Apache
apache & >& /dev/null
echo "."
;;
# Fin des instructions si on met l'argument start après le nom
# du script
# si on tape /etc/init.d/apache_exemple stop, les
# instructions suivantes vont être exécutées
stop)
# Affiche : « Stopping Webserver: apache »
echo -n "Stopping $DESC: $NAME"
# Tue tous les processus portant le nom « apache »
# sauvagement (« -9 ») et n'affiche
# pas le résultat (« /dev/null »)
killall -9 apache >& /dev/null
echo "."
;;
# Fin des instructions si on met l'argument stop après le nom
# du script si on tape /etc/init.d/apache_exemple restart,
# les instructions suivantes vont être exécutées
restart)
# Affiche : « Restarting Webserver: apache»
echo -n "Restarting $DESC: $NAME"
# Vérifie si le processus apache est déjà lancé ou non
if [ -z "$(ps ax | egrep apache)" ]; then
# Si il n'est pas lancé alors on affiche : « Apache isn't
# running, so not killed »
echo " Apache isn't running, so not killed" ;
else
# Sinon on tue tous les processus portant le nom apache
# comme décrit précédemment
killall -9 apache >& /dev/null ;
fi
# Attente d'une seconde avant de continuer le script
sleep 1
# Enfin on démarre le serveur apache
apache >& /dev/null
echo "."
;;
# Si on tape
# /etc/init.d/apache alors le script affichera
# les différents arguments que l'on peut donner au script
*)
echo "Usage: /etc/init.d/$NAME start|stop|restart" >&2
exit 1
;;
esac
exit 0
## Fin du script !
Ensuite
sudo chmod +x nomduscript
sudo update-rc.d nomduscript defaults
En espérant que ça serve à quelqu'un
Dernière modification par SimSim (Le 14/01/2009, à 20:50)
Hors ligne
#9 Le 01/04/2009, à 10:39
- saloua
Re : Comment lancer un script au démarrage ?
bjr,svp j'ai une ptite question,le long script que vous avez mis en dernier c'est le contenu du /etc/init.d/apache n'est ce pas,mais ou est ce que vous avez mis la commnde à executer:sudo dhclient ra0 ?
Merci d'avance.
Hors ligne
#10 Le 07/12/2010, à 16:48
- Romein
Re : Comment lancer un script au démarrage ?
Bonjour,
Je viens de prendre un cloud chez OVH sou Ubuntu Server 10.04. J'ai besoin de lancer un script au démarrage pour dire au DNS ma nouvelle ip en cas d'archivage de mon serveur. J'ai suivit la méthode de didbag. Mais rien ne se lance.
Mon script marche, je l'ai testé manuellement.
Merci de votre aide.
Hors ligne
Pages : 1