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/