Το script στο attachment ελέγχει την πρόσβαση στο Internet και επανεκκινεί (μέσω Telnet) το router. Έχει ελεγθεί για το USR 9106, αλλά πιθανότατα (με αλλαγές στις παραμέτρους) να παίζει και σε άλλα routers.
Είναι γραμμένο σε Perl και τρέχει μόνο σε Linux-οειδή συστήματα. Οι υπόλοιποι ας πρόσεχαν Just kidding, μπορείτε να κατεβάσετε την Perl απ'το activeperl.com (και να σβήσετε απ'το script τις εντολές που σχετίζονται με το syslog). Υποθετικά ίσως παίξει έτσι και σε M$ παραθύρια.
Επίσης θα πρέπει να το προσθέσετε στο crontab. Πχ:
sh$ crontab -e
*/3 * * * * /path/to/chkadsl.pl &2>/dev/null
ή στον ατίστοιχο Task Scheduler των Windows.
Εμφάνιση 1-8 από 8
-
18-07-05, 20:59 Επανεκκίνηση του router με Perl script #1
-
28-07-05, 17:31 #2
Πολύ χρήσιμο, αυτό έψαχνα, πες μου κάτι, εχω ενα PC με πολυ lite slackware installed, απαρετιτως πρεπει να εχει perl και τί άλλο?
Μετα πως τρεχει το scriptraki? Το κανεις εκτελέσιμό? Δεν καταφερα να το κανω να τρέξει, μου λεει:
Κώδικας:perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_COLLATE = "C", LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Can't locate Net/Telnet.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i486-linux /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i486-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl .) at /usr/local/bin/chkadsl line 5. BEGIN failed--compilation aborted at /usr/local/bin/chkadsl line 5.
-
28-07-05, 23:06 #3
Οι πρώτες γραμμές είναι απλά warnings, μπορείς να τα απενεργοποιήσεις προσθέτοντας την παράμετρο -Χ στην 1η γραμμή του script, δλδ:
#!/usr/bin/perl -X
Αλλά το καλύτερο θα ήταν να δηλώσεις αυτές τις environment μεταβλητές (πχ στο ~/.bash_profile σου).
Τώρα για το 2ο, πρέπει να εγκαταστήσεις το Net::Telnet module. Κατέβασέ το από:
http://search.cpan.org/CPAN/authors/...et-3.03.tar.gz
Αποσυμπίεσέ το (πχ tar -zxvf /path/to/Net-Telnet-3.03.tar.gz -C /tmp ),
πήγαινε στο /tmp directory και κάνε το compile:
perl Makefile
make
make test
make install (σαν root)
To script για να τρέξει θέλει απαραιτήτως perl με εγκατεστημένο το Net::Telnet module.
Για να το κάνεις εκτελέσιμο, ενεργοποίησε το 'execute' attribute του αρχείου (chmod +x /path/to/chkadsl.pl)
Μην ξεχάσεις να προσθέσεις job στο crontab για να ελέγχει το router ανά διαστήματα.
-
29-07-05, 03:06 #4
Εγκατέστησα το Net::Telnet module, εξηγησε μου λίγο πως να δηλώσω τις μεταβλητες στο ~/bash_profile μου (ως root).
Γενικά πάλι δεν μου δουλευει...
θέλει εγκατάσταση και το LWP::UserAgent αλλα μου πετάει λάθη...
Με την εντολή αυτή που έχεις (*/3 * * * * /path/to/chkadsl.pl &2>/dev/null) κάθε πότε εκτελέιται το αρχείο?
Κώδικας:perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_COLLATE = "C", LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). Can't locate URI.pm in @INC (@INC contains: /usr/lib/perl5/5.8.6/i486-linux /usr/lib/perl5/5.8.6 /usr/lib/perl5/site_perl/5.8.6/i486-linux /usr/lib/perl5/site_perl/5.8.6 /usr/lib/perl5/site_perl .) at (eval 5) line 3. Compilation failed in require at /usr/lib/perl5/site_perl/5.8.6/HTTP/Request.pm line 5. Compilation failed in require at /usr/lib/perl5/site_perl/5.8.6/LWP/UserAgent.pm line 12. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.8.6/LWP/UserAgent.pm line 12. Compilation failed in require at /usr/local/bin/chkadsl.pl line 4.
Τελευταία επεξεργασία από το μέλος nycos : 29-07-05 στις 03:23.
-
29-07-05, 08:46 #5
Χμμ...
Συνήθως το LWP::UserAgent είναι προ-εγκατεστημένο με την Perl. Τώρα στο Slack σου δε γνωρίζω τι version έχουν. Πάντως στο http://search.cpan.org θα βρεις οποιοδήποτε module χρειαστείς για Perl.
Το .bash_profile (πρόσεξε την τελεία στην αρχή που δηλώνει πως είναι hidden) βρίσκεται στο home directory σου (~/). Εκεί δηλώνονται συνήθως οι μεταβλητές που είναι user-specific. Ρίξε του μια ματιά με τον editor της αρεσκείας σου (vi, emacs, joe κλπ) και δήλωσε τις μεταβλητές για το locale.
Με την εντολή:
*/3 * * * * /path/to/chkadsl.pl &2>/dev/null
το script τρέχει κάθε 3 λεπτά.
Αν θέλεις να τρέχει κάθε 1 ώρα, γράψε:
0 * * * * /path/to/chkadsl.pl &2>/dev/null
Αν θέλεις να τρέχει κάθε xx:15 και xx:45, γράψε:
15,45 * * * * /path/to/chkadsl.pl &2>/dev/null
-
29-07-05, 13:42 #6
To LWP:UserAgent το εγκατέστησα, αλλα είδες, πάλι βγάζει λάθη σε διάφορες γραμμές...
Για τις μεταβλητές να σου πω την αλήθεια δεν έχω ιδέα τι να γράψω στο αρχειάκι...
Το αρχειο θα είναι το: /root/.bash_profile , δεν υπάρχει στο συστημά μου, το φτιάχνω και τι γράφω?
-
02-08-05, 11:31 Δοκιμασμένο Perl script (για Linux + Windows) #7
Για όποιον ενδιαφέρεται....
Το παρακάτω link περιέχει ένα scipt σε perl το οποιο ελεγχει τον router (USR 9106) και εαν χρειάζεται κάνει reboot. To καλό που έχει είναι ότι μπορεί να σου στείλει και e-mail με την καινουρια I.P. που πήρε απο τον provider (πολύ χρήσιμο για remote administration σε περίπτωση που δεν δουλέυει το dyndns ή οποιοδήποτε άλλο dynamic dns χρησιμοποιείτε).
To script αυτό είναι για Linux. Το έχω τροποποιήσει επιτυχώς για windows (με την active perl εγκατεστημένη) και το έχω βάλει να τρέχει σαν scheduled task καθε 10 λεπτά, και λειτουργεί άψογα εδώ και 2 μήνες. Δεν έχει μείνει ποτέ το modem "κρεμασμένο" χωρίς I.P. Εάν ενδιαφέρεται κανείς για την έκδοση για windows μπορεί να μου απαντήσει να του το στείλω...
h**p://www.marzocca.net/linux/checkwan.html
-
02-08-05, 22:58 #8
Thanks a lot testervag!!!
Apsogoooo!!!
Παρόμοια Θέματα
-
Perl indent script - Βοηθεια
Από Fuzzy στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμούΜηνύματα: 4Τελευταίο Μήνυμα: 17-03-08, 02:48 -
Backup απο router configs με perl script
Από wintech2003 στο φόρουμ Cisco ADSL modems και routersΜηνύματα: 6Τελευταίο Μήνυμα: 04-09-07, 00:12 -
Ξαφνική επανεκκίνηση του router.
Από vaggos_fromhell στο φόρουμ WindΜηνύματα: 13Τελευταίο Μήνυμα: 24-07-07, 18:31 -
Επανεκκίνηση router απο την συσκευή ή απο το firmware του ;;
Από dhmak στο φόρουμ ADSL & Broadband Hardware, routers και modems...Μηνύματα: 3Τελευταίο Μήνυμα: 20-06-07, 18:22 -
Δημιουργία script για εύρεση ip του router
Από dvm στο φόρουμ Unix - LinuxΜηνύματα: 6Τελευταίο Μήνυμα: 30-10-05, 02:27
Bookmarks