Portál AbcLinuxu, 8. května 2025 22:55
Zdravím, mam menší problém se spouštěním scriptu v cronu. Server je postaven na ubuntu server 8.04 LTS, nainstalován je apache2, webmin, proftpd. Chci spouštět script každou minutu, ale script se spustí jen jednou a potom nic.
Při nastavování přes webové rozhraní i přes SSH se script sice spustí a tváří se v pořádku, ale při zkoušce spuštění scriptu se zobrazí tento výstup:
Výstup příkazu /var/www/bot/run.php ..
/var/www/bot/run.php: 1: cannot open ?php: No such file /var/www/bot/run.php: 2: //: Permission denied /var/www/bot/run.php: 3: //: Permission denied /var/www/bot/run.php: 4: //: Permission denied /var/www/bot/run.php: 6: /////////////////////////////////////////////////////////: Permission denied /var/www/bot/run.php: 7: //: Permission denied /var/www/bot/run.php: 8: /////////////////////////////////////////////////////////: Permission denied /var/www/bot/run.php: 9: /bin: Permission denied /var/www/bot/run.php: 10: Sta�ením: not found /var/www/bot/run.php: 11: -: not found /var/www/bot/run.php: 12: -: not found /var/www/bot/run.php: 13: -: not found /var/www/bot/run.php: 14: -: not found /var/www/bot/run.php: 15: -: not found /var/www/bot/run.php: 17: U�ivatel: not found /var/www/bot/run.php: 20: help/: Permission denied /var/www/bot/run.php: 22: [1]: not found /var/www/bot/run.php: 24: /////////////////////////////////////////////////////////: Permission denied /var/www/bot/run.php: 25: //: Permission denied /var/www/bot/run.php: 26: /////////////////////////////////////////////////////////: Permission denied /var/www/bot/run.php: 27: Syntax error: word unexpected (expecting ")")
script je v příloze.
Vůbec mě nenapadá, kde by mohl být problém, jelikož na druhém serveru (totožný způsob instalace, stejný software atd.) se script normálně spouští.
Díky za jakékoliv rady či nasměrování, kde hledat problém.
Nu, jeste sem pastni ten radek z crontabu, mozna te pri tom napadne proc to nefunguje.
tak to vypadá takto:
ed (expecting ")")
* * * * * /var/www/bot/run.php
a takto to je na obou strojích, ale na jednom to jede a na druhém ne :/
edit: ten řáddek
ed (expecting ")") tam nemá co dělat, nevím jak se mi sem zkopíroval a nějak sem ho přehlédl, pardon![]()
Je to jak pise marek nizeji. Citelnejsi moznost je doplnit binarku php primo do crontabu(* * * * * /cesta/k/php /tvuj/skript/bot.php). Pokud ti ten samy skript stejne spusteny jinde funguje, asi to bude nejakym nastavenim shellu, ze ma *.php interpretovat pres php a ne defaultne, to ale netusim jak se dela.
Dobry den.
Vypada to, ze se to snazi spustit defaultnim shellem (/bin/shell?).
Reknete mu, ze to ma spustit interpretem php (treba na prvni radek napsat #!/usr/sbin/php5).
Marek
Takže snaha byla, do scriptu přidáno, ale bohužel to stejně nejde, script se spustí jednou a dál už ani neťukne... naopak mi to nyní vypisuje jen toto:
/bin/sh: /var/www/bot/run.php: not found
Takže pokud je na začátku scriptu #!/usr/sbin/php5 tak to ten script ani nenajde? když to vrátím do původního stavu, tak script najde.. Koukal sem se a script je tam kde má být, dá se otevřít v prohlížeči všechno, ale cron ho nenajde :/ takže mě napadá... nechybí mi něco v systému? pokud ano netušíte co? Nic mě nenapadá...
Dobry den.
To " /usr/sbin/php5" je cesta k php v mnou uzivane distribuci (podle spravce balicku - ja nemam php nainstalovano).
U Vas to muze byt nekde jinde.
Zjistite to napriklad prikazem "which php".
Marek
* * * * * /usr/bin/php5 /var/www/bot/run.php
Cestu k PHP interpreteru samozrejme dosadit skutecnou, dle umisteni v systemu.
Druhou moznosti je nespoustet PHP skript z CRONu primo, ale stejne, jako pres prohlizec - pomoci wget nebo nejakeho curl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.