Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Skript sa mi chova inak pod cronom ako ked sa spusti manualne  (Přečteno 2150 krát)

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« kdy: 10 Listopadu 2010, 10:03:04 »
Viete mi niekto poradit?
Mam skript1 ktory spusta 2. Pokial to spustim manualne je vsetko ok, ale ak to dam spustit pod cronom tak mi v 2 skripre nejde podmienka.

Skript1:
Kód: [Vybrat]
#!/bin/bash

whois="/usr/bin/whois"
#rm="/bin/rm"
#nail="/usr/bin/nail"
wget="/usr/bin/wget"
dos2unix="/usr/bin/dos2unix"
cat="/bin/cat"
grep="/bin/grep"

cat /cesta/subor.txt | while read line; do /cesta/skript2.sh $line; done


Skript2:
Kód: [Vybrat]
#!/bin/bash

whois="/usr/bin/whois"
#rm="/bin/rm"
#nail="/usr/bin/nail"
wget="/usr/bin/wget"
dos2unix="/usr/bin/dos2unix"
cat="/bin/cat"
grep="/bin/grep"

xdom=${1}
whois $xdom | grep found > /dev/null

if [ $? -eq 1 ]; then
echo $xdom >>/cesta/obsadena.txt
else
echo $xdom >>/cesta/volna.txt
fi

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #1 kdy: 10 Listopadu 2010, 18:02:32 »
Jak tam máš ve skutečnosti napsaný to /cesta ? Měla by tam bejt plná cesta.
Když nevíš kde je chyba, je dobrý si přesměrovat chybový výstupy někam do souboru
Kód: [Vybrat]
příkaz 2> souborA tak mimochodem celý to jde napsat na jeden řádek :P
Kód: [Vybrat]
for xdom in `cat soubor.txt`; do whois $xdom | grep found > /dev/null && echo $xdom >> volna.txt || echo $xdom >> obsadena.txt; done

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #2 kdy: 10 Listopadu 2010, 20:36:45 »
Ta cesta je dobra a plna.. dokonca ked testujem vysledok vystupu
Kód: [Vybrat]
whois $xdom | grep found > /dev/nulltak mi to vracia 0, alebo 1

Ale ako by to ten if ignoroval, ale len ak to spustam z cronu, ak to spustim rucne, ide vsetko ok.

K tomuto:
Kód: [Vybrat]
for xdom in `cat soubor.txt`; do whois $xdom | grep found > /dev/null && echo $xdom >> volna.txt || echo $xdom >> obsadena.txt; done
nechapem zaciatku for xdom... xdom je moja premenna, ale definicia tej premennej tam chyba.. to za tym chapem, no som v tomto zaciatocnik a neviem ani co prinuti precitat kazdy riadok daneo suboru, kde kazdy riadok je jedna domena...

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #3 kdy: 10 Listopadu 2010, 23:21:59 »
A kdyby bylo míso xdom i ?
Kód: [Vybrat]
for i in `cat soubor.txt`; do whois $i | grep found > /dev/null && echo $i >> volna.txt || echo $i >> obsadena.txt; done
ale všechny adresy mi háže (tvůj i můj skript) do obsadena.txt, takže nějak nevim k čemu to je

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #4 kdy: 11 Listopadu 2010, 08:26:54 »
A kdyby bylo míso xdom i ?
Kód: [Vybrat]
for i in `cat soubor.txt`; do whois $i | grep found > /dev/null && echo $i >> volna.txt || echo $i >> obsadena.txt; done
ale všechny adresy mi háže (tvůj i můj skript) do obsadena.txt, takže nějak nevim k čemu to je

U mna moj skript funguje spravne pri rucnom spusteni, ale cez crona nie...
Skript vyssie na 1 riadok ma ten isty vysledok. Ak to spustim ja ide ok, ak to spustim cez crona tak nefunguje.. Samozrejme cesty som dopisal..

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #5 kdy: 11 Listopadu 2010, 16:57:17 »
tak sem to zkusil dát do crontabu a funguje to normálně
Kód: [Vybrat]
* * * * * for i in `cat /home/pacholik/foo`; do whois $i | grep found > /dev/null && echo $i >> /home/pacholik/volná || echo $i >> /home/pacholik/obsazená; done

jmp

  • Host
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #6 kdy: 11 Listopadu 2010, 16:58:59 »
zkuste si ten skript pustit pomoci /bin/dash (a ne /bin/bash) - co to udela?

pokud to bude zlobit, tak zkuste v crontabu explicitne dat bash (SHELL=/bin/bash)
defaultni je pro cron /bin/sh (a ja to mam v ubuntu jako link na /bin/dash)

Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #7 kdy: 11 Listopadu 2010, 17:55:35 »
zkuste si ten skript pustit pomoci /bin/dash (a ne /bin/bash) - co to udela?

pokud to bude zlobit, tak zkuste v crontabu explicitne dat bash (SHELL=/bin/bash)
defaultni je pro cron /bin/sh (a ja to mam v ubuntu jako link na /bin/dash)


Skusil som vsetko, vysledok stale ten isty..



Peterx

  • Aktivní člen
  • *
  • Příspěvků: 403
Re: Skript sa mi chova inak pod cronom ako ked sa spusti manualne
« Odpověď #8 kdy: 12 Listopadu 2010, 01:20:31 »
Neviem sice kde bol problem, ale, zacalo mi to blbnut aj ked som to spustal rucne, tak som to restartol a funguje to..
Je to tak trochu zahada..

 

Provoz zaštiťuje spolek OpenAlt.