Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
scrypt - potrzebuję pomocy w modernizacji http://forum.freesco.pl/viewtopic.php?f=24&t=9483 |
Strona 1 z 1 |
Autor: | Matwix [ poniedziałek, 17 października 2005, 23:40 ] |
Tytuł: | scrypt - potrzebuję pomocy w modernizacji |
Witam. Mam następujący scrypt, kŧóry resetuje połączenie z internetem, w momencie braku odpowiedzi na ping wp i onetu [scrypt znaleziony na tym forum] HOST1="onet.pl" HOST2="wp.pl" LOG="/var/log/neo.log" X=0 linia=`ping -n -c4 $HOST1 | grep "icmp_seq"; ping -n -c4 $HOST2 | grep "icmp_seq"`; for i in `echo $linia`; do i=`expr substr $i 1 3 ` if [ $i = "ttl" ]; then X=$[X+1]; fi; done if [ $X = 0 ]; then date +%d/%m/%Y" "%X" Nie ma polaczenia z internetem. Restartuje poloczenie." >>$LOG sleep 1 /etc/rc.d/internet restart /etc/dyndns else date +%d/%m/%Y" "%X" OK ($X)" >>$LOG fi Dopisałem sobie do skryptu, że automatycznie ma aktualizować sobie dane na dyndsie. Problem polega na tym, że skrypt się uruchamia co 5 min. Na dyndns blokują mi konto, bo za często się aktualizuje host. Mógłbym wywalić do jakiegoś innego crona, ale to by się mijało z celem. Jesli można to prosze o pomoc jak zastosować polecenie IF, THEN, ELSE w celu takim, by nazwa była aktualizowana do piero po zmianie IP i przydzieleniu go przez usługodawcę. Czy to wogóle możliwe? Czy po poleceniu /etc/rc.d/internet restart od razu dostajemy nowy adres? Czy zastosowanie pętli w tym plku nadąży z wysłaniem już nowego IP? Z góry dzięki i pozdrawiam |
Autor: | Matwix [ poniedziałek, 17 października 2005, 23:42 ] |
Tytuł: | |
tak się teraz zastanowiłem czy ja w dobrym miejscu podałem polecenie /etc/dyndns?? Może powienienem podać w tym miejscu: if [ $X = 0 ]; then date +%d/%m/%Y" "%X" Nie ma polaczenia z internetem. Restartuje poloczenie." >>$LOG sleep 1 /etc/rc.d/internet restart else date +%d/%m/%Y" "%X" OK ($X)" >>$LOG /etc/dyndns #MOŻE TO POWINNO BYĆ TU I BY WSZYSTKO GRAŁO? fi |
Autor: | Matwix [ poniedziałek, 17 października 2005, 23:47 ] |
Tytuł: | |
Matwix pisze: tak się teraz zastanowiłem czy ja w dobrym miejscu podałem polecenie /etc/dyndns??
Może powienienem podać w tym miejscu: if [ $X = 0 ]; then date +%d/%m/%Y" "%X" Nie ma polaczenia z internetem. Restartuje poloczenie." >>$LOG sleep 1 /etc/rc.d/internet restart else date +%d/%m/%Y" "%X" OK ($X)" >>$LOG /etc/dyndns #MOŻE TO POWINNO BYĆ TU I BY WSZYSTKO GRAŁO? fi Po dłuższym zastanowieniu nie może być tutaj bo cały czas co 5 min by mi aktualizowało namiar więc lipa. |
Autor: | tasiorek [ poniedziałek, 17 października 2005, 23:52 ] |
Tytuł: | |
Posty mozna edytowac, a nie pisac jeden pod drugim. Jak chcesz, zeby Ci sie aktualizowala domena przy kazdym polaczeniu to dopisz to polecenie do /etc/rc.d/internet start |
Autor: | Mis' [ wtorek, 18 października 2005, 00:07 ] |
Tytuł: | |
tasiorek pisze: Posty mozna edytowac, a nie pisac jeden pod drugim. Jak chcesz, zeby Ci sie aktualizowala domena przy kazdym polaczeniu to dopisz to polecenie do /etc/rc.d/internet start
bardzo głupi pomysł... dlaczego nie użyć jednego z wielu klientów, które same pilnują czy adres ip się zmienił? |
Autor: | Matwix [ wtorek, 18 października 2005, 00:13 ] |
Tytuł: | |
Cytuj: dlaczego nie użyć jednego z wielu klientów, które same pilnują czy adres ip się zmienił?
A coś więcej jeśli chodzi o samo-pilnowanie? Jeśli chodzi o dopisanie /etc/dyndns w /etc/rc.d/internet to w który miejscu należy to zrobić, bo niestety nie jestem orłem w programowniu i nie bardzo wiem gdzie to wprowadzić by nie zaszkodzić scryptowi? |
Autor: | Anonymous [ wtorek, 18 października 2005, 00:22 ] |
Tytuł: | |
Matwix pisze: Cytuj: dlaczego nie użyć jednego z wielu klientów, które same pilnują czy adres ip się zmienił? A coś więcej jeśli chodzi o samo-pilnowanie? Jeśli chodzi o dopisanie /etc/dyndns w /etc/rc.d/internet to w który miejscu należy to zrobić, bo niestety nie jestem orłem w programowniu i nie bardzo wiem gdzie to wprowadzić by nie zaszkodzić scryptowi? dopisz ten swoj /etc/dyndns do skryptu: /etc/ppp/ip-up i juz bedzie po sprawie...tylko oczywiscie przed 'stat_done' skrypt ip-up jest uruchamiany wtedy kiedy nowe ip zostanie 'podniesione' wiec napewno bedzie trzeba je uaktualnic |
Autor: | Mis' [ wtorek, 18 października 2005, 00:24 ] |
Tytuł: | |
Matwix pisze: Cytuj: dlaczego nie użyć jednego z wielu klientów, które same pilnują czy adres ip się zmienił? A coś więcej jeśli chodzi o samo-pilnowanie? Jeśli chodzi o dopisanie /etc/dyndns w /etc/rc.d/internet to w który miejscu należy to zrobić, bo niestety nie jestem orłem w programowniu i nie bardzo wiem gdzie to wprowadzić by nie zaszkodzić scryptowi? generalnie dopisywanie czegokolwiek do scriptów startowych to głupi pomysł. Powiedzmy że jutro ukaże sie nowa wersja pakietu i script startowy zostanie zmieniony, albo jeśli script zostanie zabezpieczony przed nadpisaniem to utracone zostaną funkcje przychodzące z nowym pakietem... tak źle i tak niedobrze. co do programów pilnujących zmiany adresu IP to ja na przykłąd używam ddclient i on sam dba o uaktualnienie mojej domeny w dyndns. Takich programów jest więcej, wystarczy popatrzeć na dyndns.org. O ile się nie mylę to i w repozytorium coś się znajdzie... |
Autor: | Matwix [ wtorek, 18 października 2005, 09:49 ] |
Tytuł: | |
widget pisze: dopisz ten swoj /etc/dyndns do skryptu: /etc/ppp/ip-up i juz bedzie po sprawie...tylko oczywiscie przed 'stat_done' skrypt ip-up jest uruchamiany wtedy kiedy nowe ip zostanie 'podniesione' wiec napewno bedzie trzeba je uaktualnic Tylko że scrypt /etc/ppp/ip-up jak odpalam w mc to nie ma zawartości. Jest tam tylko informacja że jest uruchamiany przez demona, więc nie mam tam żadnego 'start_done' Jeśli chodzi o programik do zmiany ip to korzystam z "ez-ipupdate" i chciałbym żeby był uruchamiany tylko w momencie otrzymania nowego ip. Czy możesz podać więcej info jak tego dokonać jeśli nie byłoby problemem, albo żebyś wskazał jakiś link do posta do tego tematu? Bo właściwie to w cronie nie mogę tego tzymać bo mi konto wywalają bo aktualizacja jest za często. Pozdrawiam |
Autor: | Maciek [ wtorek, 18 października 2005, 10:17 ] |
Tytuł: | |
Plik /etc/ppp/ip-up: #!/bin/sh # # This script is run by pppd when there's a successful ppp connection. # ez-ipupdate --config-file=/etc/ez.conf i to wystarczy... |
Autor: | zciech [ wtorek, 18 października 2005, 12:21 ] |
Tytuł: | |
O ile mi wiadomo to ez-update mozna uruchomoc w trybie demona i on juz wtedy bedzie automagicznie pilnowal sam wszystkiego. #!/usr/bin/ez-ipupdate -c # # example config file for ez-ipupdate # # this file is actually executable! # service-type=dyndns # sa w pakiecie pliki dla innych dynamicznych dns-ow #service-type=dyndns-static user=user:haslo host=adres.symboliczny.ath.cx interface=interfejs na ktorym ma pilnowac zmiany IP max-interval=2073600 # please create this file and ensure that the user that ez-ipupdate is running # as has write permissions to it then uncomment this line, if you don't your # dyndns account will probably get banned. if you run ez-ipupdate as root (bad # idea, use "run-as-user") then you can just uncomment this line. #cache-file=/etc/ez-ipupdate.cache.eth1 # for the mean time we'll just use a cache file in the temp directory cache-file=/tmp/ez-ipupdate.cache # uncomment this once you have everything working how you want and you are # ready to have ez-ipupdate running in the background all the time. to stop it # you can use "killall -QUIT ez-ipupdate" under linux. daemon oczywiscie ez.conf musi byc wykonywalny chmod +x /etc/ez.conf i uruchomienie np. w rc.local /etc/ez.conf |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |