Autor | Zpráva | ||
---|---|---|---|
Začátečník Profil * |
#1 · Zasláno: 15. 5. 2011, 17:14:30
Ahoj, měl bych dvě otázky..
1 jak můžu na serveru spustit ručně soubor /etc/crontab? 2 můžu z tohoto souboru spouštět soubor.php na webu */1 * * * * root http://domain/update.php[/pre] |
||
Začátečník Profil * |
#2 · Zasláno: 15. 5. 2011, 17:16:38
|
||
Yur4Y Profil |
#3 · Zasláno: 15. 5. 2011, 17:26:25 · Upravil/a: Yur4Y
1. /etc/crontab je konfiguračný súbor, nedá sa spustiť. Čo chceš spraviť?
2. Vytvor si shell skript, ktorý bude vytvárať HTTP request na súbor na webe (napr. pomocou wget) a do cronu zaznač spúšťanie tohto súboru. |
||
Začátečník Profil * |
#4 · Zasláno: 15. 5. 2011, 17:38:01
Yur4Y:
Potřeboval bych spouštět pravidelně soubor.php jelikož v shelu to naprogramovat neumím a v php jsem to napsal tak bych ho chtěl spouštět. Ale když dám do souboru /etc/crontab */1 * * * * root /var/www/user_1/www/update.php tak se nic nestane :( Děkuji za tvou pomoc |
||
Yur4Y Profil |
#5 · Zasláno: 15. 5. 2011, 20:40:15
Posledný stĺpec v /etc/crontab nie je názov súboru, ktorý sa má spustiť, ale príkaz. Samozrejme je možné ako príkaz použiť aj názov súboru, ktorý sa má spustiť (ide o presne rovnakú logiku, ako keď píšeš shell príkazy), ale musíš dodržať bežné podmienky, t.j. spustiteľný príznak (`chmod a+x súbor`) a vložiť do súboru shebang, v prípade PHPčka zrejme teda:
#!/usr/bin/php5 <?php //PHP kód ?> Samozrejme je aj druhá možnosť, ktorá nevyžaduje shebang ani spustiteľný príznak, a to vložiť do /etc/crontab príkaz, ktorý nespustí súbor, ale PHP interpreta s daným súborom: */1 * * * * root /usr/bin/php5 /var/www/user_1/www/update.php Cesta /usr/bin/php5 nemusí byť vo všetkých systémoch rovnaká, treba si to zistiť cez spomínaný príkaz which. Podobne ELF pre PHP sa nemusí volať php5, možno je to php. |
||
Časová prodleva: 13 let
|
0