script start adsl

script start adsl - Linux et OS Alternatifs

Marsh Posté le 09-07-2001 à 23:30:24    

voila, j ai creer un petit script pour lancer automatiquement la connection adsl-usb, malheursement ce scrit ne fonction qu en root (sinon, il ne reconnait pas la fonction "pppd" )
 
#demarre la connection  
/usr/local/bin/modem_run -f /home/adsl/mgmt.o -m
pppd call adsl
 
voila:) c tres peu mais je voudrais bien l ameliorer:  
faut il faire un script pour eteindre le modem avec l arret de linux ??

Reply

Marsh Posté le 09-07-2001 à 23:30:24   

Reply

Marsh Posté le 09-07-2001 à 23:37:40    

#!/bin/bash  
   
case "$1" in  
  start)  
        action "Init modem: " /usr/local/bin/modem_run -f /path/to//mgmt.o -m  
        action "Init connection: " pppd call adsl  
        echo -n "Bringing up DNS"  
        if [ -f /etc/resolv.conf ];  
                then  
                        rm /etc/resolv.conf  
        fi  
        ln -s /etc/ppp/resolv.conf /etc/resolv.conf  
        ;;  
  stop)  
        echo -n "Killing pppd"  
        killall pppd  
        kill $(pidof modem_run)    
        ;;  
  restart)  
        echo -n "restart pppd"  
        killall -HUP pppd  
        ;;  
        *)  
        echo -n "Usage: $(basename $0) start|stop|restart"
        exit 1
esac
   
   
je viens de le faire.  
je ne pense pas qu'il marche mais cela devrait te donner une diée de ce qu'il faut faire.  
Pour l'utilisation -> http://perso.wanadoo.fr/linux_wiza [...] html#demon

 

[edtdd]--Message édité par Dark_Schneider--[/edtdd]


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 09-07-2001 à 23:47:02    

peut etre en faisant un chmod 555 ? (lecture et execution pour tt le monde)

Reply

Marsh Posté le 09-07-2001 à 23:50:08    

ppp:/usr/sbin/pppd
 
/usr/sbin n'est accessible que par root
donc il faut mettre le nom complet -> /usr/sbin/pppd
de toute facon la connection se fait souvent en tant que root, mais cela n'empeche pas de surfer en tant que user.


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 09-07-2001 à 23:55:46    

ok  est deja plus impressionant :):)
si j ai bien compris, ton script fais est sensé faire qq chose quand je quitte => je dois creer un autre lien du type K99xxxx
 
en fait si tu pouvais m expliquer ce que ca  signifie:)
j ai capté que y avait une disjonction de cas (start quit restart)
 
#!/bin/bash  ??  
$1=variable qui indique si c ets un start , quit ou restart ??
*) ?!

Reply

Marsh Posté le 10-07-2001 à 00:55:48    

*) = toutes les autres possibilités du case (équivaut à default).  
si tu ne transmet ni start, ni stop, ni restart alors il affiche le message qui dit comment ca fonctionne.  
   
quoi signifie koi ?  
   
$1 = 1er argument du script  
$0 = nom du script  
$n = enième argument du script  
#!/bin/bash = dis que c'est un script pour bash et apelle l'interpréteur bash. man bash pour plus d'info.  
un extrait de /etc/rc.d/rc qui gère les script notamment d'un chgt de runlevel.  
   
 
# Is there an rc directory for this new runlevel?  
if [ -d /etc/rc$runlevel.d ]; then  
 # First, run the KILL scripts.  
 for i in /etc/rc$runlevel.d/K*; do  
  # Check if the script is there.  
          [ ! -f $i ] && continue
 
   
  # Don't run [KS]??foo.{rpmsave,rpmorig} scripts  
  [ "${i%.rpmsave}" != "${i}" ] && continue  
  [ "${i%.rpmorig}" != "${i}" ] && continue  
  [ "${i%.rpmnew}" != "${i}" ] && continue  
   
  if egrep -q '^#[[:space:]]+halt:[[:space:]]+yes' $i;then  
      $i stop  
  fi  
   
  # Check if the subsystem is already up.  
  subsys=${i#/etc/rc$runlevel.d/K??}  
  [ ! -f /var/lock/subsys/$subsys ] && \  
      [ ! -f /var/lock/subsys/${subsys}.init ] && continue  
   
  # Bring the subsystem down.  
  if egrep -q "(killproc |action )" $i ; then  
   $i stop  
  else  
action "Stopping %s: " $subsys $i stop  
  fi  
 done  
   
 # Now run the START scripts.  
for i in /etc/rc$runlevel.d/S*; do  
  # Check if the script is there.  
  [ ! -f $i ] && continue  
 
  # Don't run [KS]??foo.{rpmsave,rpmorig} scripts  
  [ "${i%.rpmsave}" != "${i}" ] && continue  
  [ "${i%.rpmorig}" != "${i}" ] && continue  
  [ "${i%.rpmnew}" != "${i}" ] && continue  
   
  # Check if the subsystem is already up.  
  subsys=${i#/etc/rc$runlevel.d/S??}  
  [ -f /var/lock/subsys/$subsys ] || \  
      [ -f /var/lock/subsys/${subsys}.init ] && continue  
......  
 
 
 
comme tu le vois il cherche tous les scripts commençant par K, vérifie si ce ne sont pas des backup ou des copies d'anciens scripts puis lance le script avec l'argument stop pour k'il s'arrete.  
Pour le lancement, il fait la meme chose (tous les script en S, puis lancement avec comme argument start).

 

[edtdd]--Message édité par Dark_Schneider--[/edtdd]


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 10-07-2001 à 01:18:54    

ok, je commence a voir le principe, masi ou est ce qu on eut avoir une liste des commandes ??
 
dans le script que t as ecris:  
 
que signifie "rm" de  "rm /etc/resolv.conf"
 
pkoi faire le lien :    ln -s/etc/ppp/resolv.conf /etc/resolve.conf   et d ailleurs l option "-s" kesaco ??
 
kill $(pidof modem_run) represente quoi ??

Reply

Marsh Posté le 10-07-2001 à 01:29:38    

koi ? tu ne connais pas rm ?  
rm = remove  
rm fichier <- efface fichier  
 
pour le lien c'est toi même qui l'a précisé. -s = symbolique. Cela signifie que l'on fait un lien symbolique. ln = link  
 
kill <- tu en processus dont on donne en argument son n° ou PID (Processus Identification Data).  
pidof prog <- renvoie le PID de prog  
 
man kill  
man pidof  
man rm  
man ln
man bash

 

[edtdd]--Message édité par Dark_Schneider--[/edtdd]


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 10-07-2001 à 01:46:10    

je suis un debutant :D:D:D
j avais vu ln -s sur le site de benoit papillault :):)
merci pour toute ces indiction:jap:

Reply

Marsh Posté le 10-07-2001 à 01:47:49    

chtite question, on pourrait pas faire :
kill modem_run  ??
 
ps: qu est qu un lien pas symbolique   ?? (sans -s )

Reply

Marsh Posté le 10-07-2001 à 01:47:49   

Reply

Marsh Posté le 10-07-2001 à 02:00:00    

man kill
man ln


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
Reply

Marsh Posté le 10-07-2001 à 02:04:03    

oky ;) je vais avoir de la lecture :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed