Forum sur la Livebox de Wanadoo
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum sur la Livebox de Wanadoo


 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-55%
Le deal à ne pas rater :
Coffret d’outils – STANLEY – STMT0-74101 – 38 pièces – ...
21.99 € 49.04 €
Voir le deal

 

 [Réglé] - scripts expect : automatisez les reboots

Aller en bas 
AuteurMessage
ybby
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptySam 8 Jan 05 à 15:00

Bonjour a tous,

avec la livebox SAGEM, j'ai perdu une grosse fonctionnalite par rapport a mon modem ethernet : programmer les deconnexions lors des heures creuses.
en effet c'est tres desagreable d'etre deconnecté pendant une session xchat ou un ssh.... auparavant, j'avais un ip-up/ip-down dans ma crontab au beau milieu de la nuit et je n'etais pas emmerdé la journée...

vu qu'on peut telnet + reboot sur la livebox, pourquoi ne pas faire un petit script expect qui reboote ou deconnecte la live box tous les 3 ou 4 jours a 6:00 du mat... avec ses cycles de 22heures de connexion ca devrait le faire...

voila ce que j'ai:


Code:

#!/usr/bin/expect -f
set timeout 5
spawn /usr/bin/telnet 192.168.5.1
expect "login: " {send "root\r"}
expect "Password: "  { send "1234\r" }
expect "*home]$ "  { send "reboot\r" }

mon probleme est que ce script ne fonctionne qu'une fois sur 100 Bad(
la livebox se comporte bizarrement, parfois ça passe comme un lettre a poste mais parfois ça donne ça:

Code:

$ ./telnetRebootLivebox
spawn /usr/bin/telnet 192.168.5.1
Trying 192.168.5.1...
Connected to 192.168.5.1.
Escape character is '^]'.
login: root
root

et ca reste bloqué indefiniment, obligé de killall -15 telnet ....

quelqu'un a deja essayé ça? quelqu'un parmi vous est interessé par cette possibilité et voudait essayer sur sa box?

YbbY


Dernière édition par le Mer 23 Fév 05 à 1:38, édité 4 fois
Revenir en haut Aller en bas
guigui_
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptySam 8 Jan 05 à 16:10

Bah ecoute j'ai fait un script du genre , sauf que je l'ai cronté une fois a 4h pour qu'il agisse a 4h du mat , comme ca chaque jour la deco ce passe vers les 4h du mat heure ou normalement je ne suis pas sur mon pc Wink

Ca me parait un peu bourrin de refaire ca a chaque fois ...
Revenir en haut Aller en bas
ybby
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptySam 8 Jan 05 à 16:39

guigui_? a quoi il ressemble ton script stp?
Revenir en haut Aller en bas
guigui_
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptySam 8 Jan 05 à 18:33

Pareil que le tien , utilisation d'expect , je l'ai lancé la nuit ou j'ai eu ma lb depuis plus relancé comme ca j'ai bien ma deco a 4h du mat quand je et plus aucun problémes I don't want that
Revenir en haut Aller en bas
ybby
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptySam 8 Jan 05 à 19:02

Bad(

ton script marche vers une inventel?
Bad? le telnetd de ma livebox sagem est capricieux?
Revenir en haut Aller en bas
guigui_
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptyLun 10 Jan 05 à 1:04

Sur une inventel aucune idée , mais sur la sagem ca marche a 80% Very Happy
Revenir en haut Aller en bas
ybby
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptyJeu 13 Jan 05 à 10:16

ben moi je restais a 0.01 % juqu'a ce que je trouve cette feinte :
Code:

#!/usr/bin/expect -f
set timeout 50
spawn /usr/bin/telnet 192.168.5.1
sleep 1
expect "login:"
sleep 1
send "r"
sleep 1
send "o"
sleep 1
send "o"
sleep 1
send "t"
sleep 1
send "\r"
expect "Password: " 
sleep 1
send "1"
sleep 1
send "2"
sleep 1
send "3"
sleep 1
send "4"
sleep 1
send "\r"
expect "*home]$ "
send "reboot\r"
sleep 1
close

je vous l'accorde, c'est pas beau, mais ca marche beaucoup mieux Bad)


Dernière édition par le Sam 15 Jan 05 à 14:19, édité 1 fois
Revenir en haut Aller en bas
guigui_
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptyJeu 13 Jan 05 à 13:33

Oula Wink

Le principal c'est que ca marche de toute facon :p
Revenir en haut Aller en bas
ybby
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: evolutions   [Réglé] - scripts expect : automatisez les reboots EmptyMer 23 Fév 05 à 1:34

bien, je ne suis pas dev. mais depuis j'ai bossé un peu, voici un script pour passer des commandes sur la livebox :

(corrigé le 24/02/05 )
Code:

#!/usr/bin/expect -f
set liveboxIP 192.168.5.1
set status 1
set running_flag $argv0.running
#set liveboxCMD "ifconfig -o ppp0"
#######################################
if {$argc==0} {
    send_user "usage: $argv0 \"cmd1\" \"cmd2 args\" . . .\n"
        exit $status
}
#######################################
if {[file exists $running_flag]} {puts "$argv0 already running";exit $status}
file copy -force $argv0 $running_flag
#######################################
set force_conservative 1  ;# set to 1 to force conservative mode even if
                          ;# script wasn't run conservatively originally
if {$force_conservative} {
        set send_slow {1 .2}
        proc send {ignore arg} {
                sleep .1
                exp_send -s -- $arg
        }
}
#######################################
proc sortie {etat} {
global running_flag argv0
file delete -force $running_flag
puts "\r $argv0 ended \r"
exit $etat
}
#######################################
set timeout 5000
spawn  /usr/bin/telnet $liveboxIP
match_max 100000
expect {
        "*secondes" { close }
        "login:" {
        send -- "root\r"
        expect -exact "Password: "
        send -- "1234\r"
        expect {
                "*secondes" { close }
                "*home]$ " {
                        for {set i 0} {$i<$argc} {incr i} {
                                set liveboxCMD [lindex $argv $i]
                                send -- "$liveboxCMD \r"
                                sleep .3
                                ###reboot is a special case (exit too)#########
                                if {[string match "exit" $liveboxCMD]} {sortie 0}
                                if {[string match "reboot" $liveboxCMD]} {sortie 0}
                                ################################################
                                expect "*]$ "
                                }
                        send -- "exit"
                        set status 0
                        close
                        }
                }
        }
}
#######################################
sortie $status


et un autre qui une fois dans la crontab va me rebooter la livebox quand elle reste "en negociation"


(corrigé le 24/02/05 )

Code:


$ cat survliveBox.sh
#! /bin/sh
directory="/home/linux/.livebox"
script="$directory/telnetCmdOnLivebox.exp"
result="$directory/telnetCmd.result"
reboot_flag="$directory/telnetCmd.rebootneeded"
mail_flag="$directory/telnetCmd.mailflag"
mail_flaglist="$directory/telnetCmd.mailflaglist"
mail="linux@localhost"

#####################################
#Send email once
# flags files deleted when ping OK
lb_mail ()
{
flag=$1
if test -f $mail_flag.$flag
then
echo "$mail_flag.$flag exists : not sending mail"
else
echo "sending mail"
eval "mail -s '[LB] $flag' $mail < $result"
eval "/bin/touch $mail_flag.$flag"
echo "$mail_flag.$flag created"
echo "$mail_flag.$flag" >> $mail_flaglist
fi
}
#####################################
display ()
{
echo "#####################"
echo "### RESULT###########"
eval "cat -v $result"
echo "#####################"
echo "#####################"
}
#####################################
reboot ()
{
eval "/bin/touch $reboot_flag"
echo "sending reboot on livebox"
eval "$script 'reboot'" > $result
if [ $? == "0" ]
then
        eval "/bin/rm $reboot_flag"
        echo "reboot command sent"
        lb_mail rebootsent
else
        echo "reboot failed :  $reboot_flag exists"
        echo "$0 should be relaunched"
        lb_mail rebootfailed
fi
display
}

#####################################


#####################################
### telnetd de la livebox est sensible
### ne l'utilisons que si necessaire
#####################################
echo "executing ping test"
pingtest=failed
i=1
while [ $i -le 3 ]
do
CONNECT1=`ping -c 1 www.yahoo.fr | grep "1 received"`
CONNECT2=`ping -c 1 www.google.com | grep "1 received"`
        if [ "$CONNECT1" = "" ]&&[ "$CONNECT2" = "" ]
        then
        i=`expr $i + 1`
        sleep 10
        else
        i=4
        pingtest=passed
        fi
done

if [ $pingtest = "failed" ]
then
        echo "ping test failed "
        if test -f $reboot_flag
        then
                echo "$reboot_flag exists : reboot without testing ppp0 status"
                reboot
        exit
        fi
else
        echo "ping test passed "
        if test -f $mail_flaglist
        then
                echo "ping test passed : delete $mail_flaglist"
                while read  file
                do
                /bin/rm $file
                done <  $mail_flaglist
                /bin/rm $mail_flaglist
        fi
        if test -f $reboot_flag
        then
                echo "ping test passed : no more reboot needed"
                eval "/bin/rm $reboot_flag"
        fi
exit
fi
#####################################
###Test if  possible to telnet on livebox
#####################################
set -x
if test -x $script
then
echo "OK, lets watch connection status"
else
echo "$script not executable"
exit
fi
#####################################
###get the status
#####################################
echo "sending ifconfig -o ppp0 on livebox"
set -x
eval "$script 'ifconfig -o ppp0'" > $result
set +x
display
#####################################
###Test if Result is here
#####################################
if  test  -z "`exec grep -o "Flags" $result`"
then
echo "$result does not contain the Flags line"
echo "unknown status for livebox :-("
lb_mail unknownstatus
j="a a a a a"
for i in ${j}
        do
        beep
        sleep 1
        done
exit
fi
#####################################
### Test if down
#####################################
if test  -n "`exec grep -o UP $result`"
then
echo "UP seen in  $result"
echo "DNS problem?"
lb_mail upnoping
exit
else
echo "DOWN?, sleep 60s and try a reboot"
set -x
sleep 60
reboot
set +x
fi
#####################################
#####################################

 $


et le contenu de ma crontab :

Code:

46 6 * * * /home/linux/.livebox/telnetCmdOnLivebox.exp "reboot"> /dev/null
*/2 * * * * /home/linux/.livebox/survliveBox.sh > /dev/null


en esperant que ca puisse reservir a quelqu'un!
YbbY


Dernière édition par le Ven 25 Fév 05 à 0:33, édité 1 fois
Revenir en haut Aller en bas
funix
Invité




[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots EmptyJeu 24 Fév 05 à 16:42

Malheureusement cela ne marche pas pour l'inventel Bad(


Olivier
Revenir en haut Aller en bas
Contenu sponsorisé





[Réglé] - scripts expect : automatisez les reboots Empty
MessageSujet: Re: [Réglé] - scripts expect : automatisez les reboots   [Réglé] - scripts expect : automatisez les reboots Empty

Revenir en haut Aller en bas
 
[Réglé] - scripts expect : automatisez les reboots
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum sur la Livebox de Wanadoo :: 
LES PROBLEMES
 :: Problèmes Logiciels :: Linux-Unix
-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser