Portál AbcLinuxu, 26. dubna 2024 21:34


Dotaz: CRON nechce provést wget

11.10.2009 21:38 RYU.cz | skóre: 16 | Vsetín
CRON nechce provést wget
Přečteno: 1030×
Odpovědět | Admin
Zdravím, mám domácí server a ke hlídání změny IP používám php skript umístěný na jiném serveru. Jde o to že cron má periodicky provést wget na tento skript a skript mi v případě změny IP odešle email na mobil.

Mám nyní v adresáři /etc/cron.5 soubor, který spouští tři příkazy: MRTG, NTPDATE a WGET, vše funguje kromě zmíněného wgetu, zkoušel jsem i wget oddělit ale stále nic, pokud ten samý příkaz provedu ručně, tak funguje jak má.

Přikládám skript, z nějž mrtg a ntpdate fungují

#!/bin/bash

mrtg /etc/mrtg.cfg
ntpdate tik.cesnet.cz
wget http://ipcha.dwander.cz/ip.php?pass=dimitrij -O /var/log/ipcha


Prosím zkušenější o radu.
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

11.10.2009 22:57 Aldagautr | skóre: 20
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Odpovědět | | Sbalit | Link | Blokovat | Admin
ma ten cron wget v jemu zname ceste?
o svobodu prichazi nejsnaze ten, kdo o ni nikdy nebojoval
11.10.2009 23:28 misko
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ty vole, to snad nemyslis vazne! Ty si pastol ten tvoj skript este aj s funkcnym heslom :) Btw, skus napisat do toho skriptu celu cestu, tj. "whereis wget" a namiesto "wget" dosadit celu cestu...
12.10.2009 05:47 RYU.cz | skóre: 16 | Vsetín
Rozbalit Rozbalit vše Re: CRON nechce provést wget
To ze je heslo funkcni zpusobi jen jednu vec, vzhledem k tomu ze jsem zamknul zasilani mailu (Email SENT je zavadejici) tak se akorat dozvim ip adresy ctenaru ... pak si heslo zmenim ... stejne se bude mnenic cely autorizacni mechanizmus.

Za radu s cestou, diky, zkusim hned jak prijedu do skoly.
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz
12.10.2009 07:55 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Možná v tomto případě to heslo projde, ale když si na to nedáš bacha, příště pošleš heslo roota vzdáleného serveru a než si to uvědomíš, už bude změněné :)
12.10.2009 07:00 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Odpovědět | | Sbalit | Link | Blokovat | Admin
nastavení proxy?
In Ada the typical infinite loop would normally be terminated by detonation.
12.10.2009 14:14 xobot
Rozbalit Rozbalit vše Re: CRON nechce provést wget
tiez by som to tipol na proxy.

nemas v shelli z kt. to rucne spustas zadefinovanu premennu http_proxy? Ak ano, hod to aj do toho skriptu, alebo pridaj parameter pre proxy do wget
12.10.2009 07:59 Ash | skóre: 53
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Odpovědět | | Sbalit | Link | Blokovat | Admin
V linuxu označení "nefunguje" zpravidla lze podložit nějakým chybovým hlášením... Takže jaká je chyba? Můžete si zjistit návratovou hodnotu (wget foo; echo $?), zcela jistě byste si měl nechat vypsat chybový výstup (buď do souboru, nebo logu cronu cron loguje, nebo z mailu pokud cron mailuje). Takže...?
12.10.2009 08:23 RYU.cz | skóre: 16 | Vsetín
Rozbalit Rozbalit vše Re: CRON nechce provést wget
jedinna yminka o cronu je v syslogu, jen to, co je zapsano v crontabu, tedy run_parts. zadne chyby ani jine potvorstvo. prikazy samy o sobe funguji, ale ve spojeni s cornem ne. s pravy problem taky nebude, cron bezi ted pod rootem.
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz
12.10.2009 09:58 Ash | skóre: 53
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Chodí vám na tom serveru mailové zprávy od roota? (Cron většinou výstup příkazů mailuje).

"run-parts" nehovoří o tom, jestli byl doopravdy spuštěn ten váš konkrétní skript. Aby byl skript spouštěn, musí být ve správném adresáři a většinou s flagem executable (# chmod +x jmenosouboru). Pro potvrzení s spuštění vašeho konkrétního skriptu si dejte na začátek souboru třeba něco jako
exec 2>&1
exec >/root/test.log
echo "Spouštím..."
date

blaba...
ntpdate...
wget...
12.10.2009 10:03 Ash | skóre: 53
Rozbalit Rozbalit vše Re: CRON nechce provést wget
mailové zprávy od roota Přesněji ne od roota, ale pro toho kdo je v crontab uveden v MAILTO=.
12.10.2009 10:05 Ash | skóre: 53
Rozbalit Rozbalit vše Re: CRON nechce provést wget
No a pořadí přesměrování mám špatně, takže správně aby se přesměroval chybový i normální výstup:
exec >/root/test.log
exec 2>&1
12.10.2009 08:59 R
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Odpovědět | | Sbalit | Link | Blokovat | Admin
V crone uvadzaj vzdy plnu cestu (/usr/bin/wget).
12.10.2009 09:24 RYU.cz | skóre: 16 | Vsetín
Rozbalit Rozbalit vše Re: CRON nechce provést wget
plnou cestu uz mam uvedenou, lec problem to neresi. zkousel jsem pridat do souboru prikaz

echo "ahoj" >> /var/log/iphca

ten se ale cronem taky neprovede.
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz
12.10.2009 09:44 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: CRON nechce provést wget
A jseš si opravdu jistý, že se ten skript vůbec spouští? Echo do souboru musí fungovat, pokud to opravdu jede pod rootem.
12.10.2009 13:37 RYU.cz | skóre: 16 | Vsetín
Rozbalit Rozbalit vše Re: CRON nechce provést wget
skript se opravdu spousti, jelikoz MRTG, ktere se generuje o radek vys funguje jak ma.
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz
12.10.2009 14:09 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: CRON nechce provést wget
A nespouští se to mrtg ještě z jiného místa? Zkus si s tím echem trochu pohrát - použij je jako DEBUG mezi všemi příkazy a v každém echu dej jiný string. Tipnul bych si, že chyba bude trošku jinde, než ji hledáš.
12.10.2009 22:04 RYU.cz | skóre: 16 | Vsetín
Rozbalit Rozbalit vše Re: CRON nechce provést wget
mrtg provadi pouze cron, echem jsem zjistil to, ze skript se vykona pouze po ten wget a tam konci a mlci. Napadlo mne ze se muze na necem zacyklit, ale zadny proces wgetu trvale nebezi.

Zkusil jsem pridat ipchu primo do crontabu */5 * * * * .... ale stale nic ...
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz
12.10.2009 22:34 dustin | skóre: 63 | blog: dustin
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Jseš si 100% jistý, že se ten wget nezasekne a nevisí ve výpisu procesů? Jinak si nedovedu představit, proč by wget zabíjel otcovský proces, aby tento nemohl pokračovat na další debugovací echo.
13.10.2009 08:48 Ash | skóre: 53
Rozbalit Rozbalit vše Re: CRON nechce provést wget

A výstup spuštění wget popř. wget jako takového je jaký?

Proč po nás chcete abychom hádali a dohoadovali se nad všemi možnými příčinami toho, proč by to za různých okolností mohlo nefungovat, když nám můžete říct konkrétně proč to nefunguje (co se stane).

Popřípadě sem dejte konkrétně co a jak jste testoval a jaký byl výstup (copy and paste, ne slovní popis typu "odmlčelo se to") a my vám poradíme co tam máte změnit abyste se dozvěděl něco víc než že "to nefunguje".
13.10.2009 08:49 Ash | skóre: 53
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Například je tu i možnost set -x do skriptu nebo strace wget nebo valgrind wget apod., ale potřebujete vědět jak získat výstup toho skriptu a toho příkazu wget v něm.
13.10.2009 10:02 RYU.cz | skóre: 16 | Vsetín
Rozbalit Rozbalit vše Re: CRON nechce provést wget
Zda se ze si ze mne pouze delal cron srandu, jelikoz od pulnoci jiz provadi vse jak ma. odstranil jsem debugove echa a porada funguje. V cem byl problem nevim, rozjelo se to bez zasahu (aktualizace se zadne nestahovaly). Byt to windows, tak reknu ze je to normalni, ale u linuxu mi zustava rozum stat. I tak dekuji vsem zucastnenym za snahu pomoci.
Linux is like a teepee - no windows, no gates, apache inside. | RYU.cz

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.