tomas92 Posted October 19, 2011 Report Share Posted October 19, 2011 Witam. Mam problem z otwieraniem skryptu przez rc.local . Wszystko odbywa sie na centosie 6. Skrypt to : #! /bin/sh /usr/local/bin/noip.client -u user -p pasword -d domena -b 5 exit 0 Rc.local równiez nie otwiera programu bezposrednio poprzez komende. Scrypt otwierany recznie dziala tak jak i program. Chmod 777 na to i na to. Rc.local otwiera inne aplikacje. Ktos ma pomysl jak sobie z tym poradzic ? Z góry dzieki. 2 Link to comment Share on other sites More sharing options...
morsik Posted October 19, 2011 Report Share Posted October 19, 2011 Nastepnym razem patrz co wklejasz... wrzuciles tu swoje haslo -.- Username i pass powinien byc w jakims pliku konfiguracyjnym. Skonfiguruj to poprawnie - to po pierwsze. I dodaj znak & na koncu, zeby polecenie sie wykonywalo w tle. Choc dalej nie mam pojecia dlaczego moze nie dzialac. Link to comment Share on other sites More sharing options...
tomas92 Posted October 19, 2011 Author Report Share Posted October 19, 2011 & dodany. Co do samego problemu. noip.client odpala sie za kazdym razem poprzez dodanie do niego parametrów konfiguracyjnych. Uwazam ze to wlasnie przez nie jest problem. Rc.local odpala inne aplikacje i scrypty a z tym ma problem. Wszystko jest zrobione zgodnie z instrukcja 3. Prawidlowe wykonanie programu ma postac: /usr/local/bin/noip.client -u uzytkownik -p haslo -d domena - takie uruchomienie jednorazowo wysle pakiet aktualizujacy domene do systemu No-Ip. To postac wykonania zalecana do uruchamiania z systemu 'cron'. 4. Alternatywa Mozna równiez uruchomic program w ponizszy sposób, program wtedy zostanie w pamieci i bedzie aktualizowal sie sam, co N minut. Minimalna wartosc czasu N to 5 minut: /usr/local/bin/noip.client -u uzytkownik -p haslo -d domena -b N Odpowiednie pozadane wykonanie programu nalezy umiescic w plikach startowych, najczesciej to bedzie /etc/rc.d/rc.local, lub podobnie w zaleznosci od dystrybucji. Opis argumentów programu uzyskamy równiez uruchamiajac go bez zadnych parametrów. Ktos wpadl co moze byc przyczyna ? Link to comment Share on other sites More sharing options...
SeeM Posted October 19, 2011 Report Share Posted October 19, 2011 Niepotrzebnie zrobiles ten skrypt. Mozesz w rc.local po prostu dopisac sleep 1 /usr/local/bin/noip.client -u uzytkownik -p haslo -d domena & sleep 1 Na Scientific Linux 6 tez zauwazylem, ze rc.local po prostu nie "lyka" wszystkiego. Przykladowo nie dziala z niego wpa_supplicant. Z palca owszem. Na CentOS 4 dzialalo w porzadku. Ten sleep sie czasem przydaje. W kilku przypadkach mi pomagalo. Link to comment Share on other sites More sharing options...
tomas92 Posted October 20, 2011 Author Report Share Posted October 20, 2011 Nadal nie jest dobrze. W boot.log mam : gethostbyname error for host: update.no-ip.pl Link to comment Share on other sites More sharing options...
SeeM Posted October 20, 2011 Report Share Posted October 20, 2011 Jak się ten CentOS łączy z internetem? Demonem Network, czy NetworkManager? Jesli to drugie, to całkiem możliwe, że w chwili wykonywania rc.local nie ma jeszcze połączenia. Link to comment Share on other sites More sharing options...
tomas92 Posted October 20, 2011 Author Report Share Posted October 20, 2011 Łączy się poprzez NetworkManager ale przed próba odpalenia noip.client wiec to chyba nie tego wina Link to comment Share on other sites More sharing options...
alkuzad Posted October 20, 2011 Report Share Posted October 20, 2011 A moze na wszelki wypadek taki maly skrypcik ? #!/bin/bash #Skrypcik wstrzymuje prace (sleep 1) dopoki nie bedzie internetu #wtedy startuje to co wklejone po "start skryptu" i nastepuje wyjscie ze skryptu (exit) while true; do if [ "`ping -c 1 www.onet.pl > /dev/null 2>&1`" ]; then #start skryptu exit fi sleep 1 done edit:Thx WalDo - przypomnialem sobie o tym rano na wykladach Link to comment Share on other sites More sharing options...
tomas92 Posted October 21, 2011 Author Report Share Posted October 21, 2011 Ten maly skrypcik zatrzymuje mi rozruch maszyny. Jak mam teraz wlaczyc centosa? Edit@ Po dlugich bojach udalo mi sie to naprawic. Link to comment Share on other sites More sharing options...
@WalDo Posted October 21, 2011 Report Share Posted October 21, 2011 [...] while [ 1 == 1 ]; do [...] while true ; do To samo, ale chyba lepiej widać o co chodzi. Link to comment Share on other sites More sharing options...
alkuzad Posted October 21, 2011 Report Share Posted October 21, 2011 Edit@Po długich bojach udało mi się to naprawić. Dobry zwyczaj forumowy nakazuje powiedziec co sie zrobilo ze dziala tak by na przyszlosc ktos znalazl info. Link to comment Share on other sites More sharing options...
thof Posted October 21, 2011 Report Share Posted October 21, 2011 Już pomijając to, że ten skrypt nie zadziała to jak można wrzucić pętlę nieskończoną do startu systemu? Nie jestem tak nastawiony anty jak na uczelniach i uznaję pętle nieskończone i breaki, ale tylko w sytuacjach, kiedy wiem, że prędzej czy później puści. W tym skrypcie, jak nie będzie neta to nie puści i system się nie uruchomi. To powinno pójść do jako zadanie równoległe z timeoutem. Link to comment Share on other sites More sharing options...
tomas92 Posted October 21, 2011 Author Report Share Posted October 21, 2011 Już pomijając to, że ten skrypt nie zadziała to jak można wrzucić pętlę nieskończoną do startu systemu? Nie jestem tak nastawiony anty jak na uczelniach i uznaję pętle nieskończone i breaki, ale tylko w sytuacjach, kiedy wiem, że prędzej czy później puści. W tym skrypcie, jak nie będzie neta to nie puści i system się nie uruchomi. To powinno pójść do jako zadanie równoległe z timeoutem. System nie ruszył nawet połączony z internetem ( łączy się przez kabel przed wczytaniem rc.local). Udało mi się włączyć go dopiero poprzez usunięcie skryptu . Ubuntu live cd , zamontowałem /home i usunąłem wpis w rc.local. Nie polecam ładowania nie sprawdzonych skryptów Link to comment Share on other sites More sharing options...
thof Posted October 22, 2011 Report Share Posted October 22, 2011 System nie ruszyl nawet polaczony z internetem ( laczy sie przez kabel przed wczytaniem rc.local). No wlasnie, dlatego napisalem w pierwszych slowa, ze nie zadziala. Warunek w if nie jest poprawny. Mialem na mysli to, ze gdyby nawet dzialal jak w zalozeniach to i tak blokowalby system.Rozwiazales glówny problem tematu? EDIT: sensownie wygladajace sprawdzenie czy jest polaczenie z netem mozna znalezc w tym poscie http://www.linuxquestions.org/questions/linux-networking-3/script-to-check-connection-and-restart-network-if-down-262281/#post3815629 które sprawdza takze poprawnosc DNS. Link to comment Share on other sites More sharing options...
tomas92 Posted October 22, 2011 Author Report Share Posted October 22, 2011 Nie rozwiazalem problemu. Skoro wiadomo ze internet dziala przed wczytaniem rc.local to przyczyna gethostbyname error for host: update.no-ip.pl nie jest jego brak. Wiec co nia jest ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now