Portál AbcLinuxu, 1. června 2025 11:25


Dotaz: perl skript spousteny pres cron

14.5.2008 17:46 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
perl skript spousteny pres cron
Přečteno: 397×
Odpovědět | Admin
Příloha:
Mam problem se spustenim perlovskeho skriptu pres cron.

Pomoci knihovny Expect se pripojuji na mikrotika, na kterem potrebuji provest nejake prikazy kazdou hodinu. pokud ten skript spustim z prikazoveho radku rocne tak spravne projde, ale pokud ho spustim pres cron tak se skript nepripoji na mikrotik a ihned skonci. V priloze je prilozen skript. Pokud se spusti pres cron tak se provede jeste ten zapis do logu ale expect jiz neprojde. Na mikrotiku v logu neni zadny naznak, ze by se snazil nalogovat. Muzete me nekdo nakopnout spravnym smerem proc to nechce chosit ??? nevim v kterem logu hledat. Log cronu taky nic neporadil.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.5.2008 18:53 drewdw
Rozbalit Rozbalit vše Re: perl skript spousteny pres cron
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus zkrouhnout to raw_pty. Kdo vi, co to muze delatk, kdyz to nema terminal.
marek_s avatar 14.5.2008 19:53 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: perl skript spousteny pres cron
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mám pocit, že ssh se odmítne zeptat na heslo někam jinam, než na terminál. Nicméně by se Expect měl za terminál vydávat (jestli dobře chápu dokumentaci). Možná je problém právě v raw_pty. Ale spíš se mi zdá, že se raw_pty(1) nenastaví. V dokumentaci k Expectu (funkce raw_pty) je napsáno:
Note that this must be set before spawning the program.
Není to Tvůj problém?
"Consummatum est" -- Iesus Nazarenus
14.5.2008 22:07 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
Rozbalit Rozbalit vše Re: perl skript spousteny pres cron
Odpovědět | | Sbalit | Link | Blokovat | Admin
tak timhle to nebylo. zmenil jsem raw_pty na 0 a stejne se nepripojil. napada Vas nekoho jak by to slo jeste vyresit ???? naklicovavat mikrotik se mi moc nechce. ale nejspiss to bude jedina moznost, ktera pripada v uvahu a potom to tam narvat primo pomoci prikazu exec(ssh -l r usernameip_adresa prikaz).
marek_s avatar 14.5.2008 23:57 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: perl skript spousteny pres cron
Ty voláš nejdřív spawn a potom raw_pty. V manuálu se píše, že se nejdřív musíš volat raw_pty a potom spawn. Jinak zřejmě raw_pty nebude mít efekt. Já bych zkusil dát raw_pty před spawn a zkusil jak variantu s 0 tak 1...
"Consummatum est" -- Iesus Nazarenus
15.5.2008 00:32 hates | skóre: 30 | blog: Jak_jsem_se_dostal_k_linuxu
Rozbalit Rozbalit vše Re: perl skript spousteny pres cron
Metoda Spawn vytvari ten bjekt, ten se musi nejspis volat jako prvni. pokud zmenim parametry tak se to i na konzole chova jinak. napriklad u metody log_stdout pri hodnote 0 nevypisuje jiz nic na konzolijako pri hodnote 1.
marek_s avatar 15.5.2008 21:17 marek_s | skóre: 8 | Loučky
Rozbalit Rozbalit vše Re: perl skript spousteny pres cron
No, je také možnost si nejdříve objekt vytvořit pomocí jiného konstruktoru. V manuálu mají takovýto příklad:
my $exp = new Expect;
$exp->raw_pty(1);
$exp->spawn($command, @parameters)
      or die "Cannot spawn $command: $!\n";
"Consummatum est" -- Iesus Nazarenus

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.