Domanda

Voglio creare cronjobs che passa ogni 10 min

e mail me una e-mail con il txt follow.

"ordini cancellato"

il mio codice simile a questo.

MAILTO=”my_email@mail.com”
*/10 * * * * /var/www/php-sites/dlf/cron_jobs.php

Ho controllato le mie mail gli ultimi 30 min .. e ancora havent ricevere mail. sono io che faccio male?

È stato utile?

Soluzione

Prima di tutto, come mi ricordo script PHP devono essere eseguiti in questo modo (ad esempio per il percorso di Ubuntu, non è sicuro su altre distribuzioni):

/usr/bin/php-cgi /var/www/php-sites/dlf/cron_jobs.php

Inoltre è possibile salvare l'output del lavoro nel file per vedere le ragioni esatte di fallimenti, per il lavoro che può apparire come:

*/10 * * * * /usr/bin/php-cgi /var/www/php-sites/dlf/cron_jobs.php > /tmp/cron.out 2>&1

Controlla il contenuto cron.out.

Spero che questo aiuti.


Modifica

Ho fatto piccolo test e usuale modo Shell sembra funzionare troppo. Ho creato lo script phptest.sh (+ x) con contenuti:

#!/usr/bin/php-cgi

echo "It works this way!";

E sembra funzionare, tranne una cosa. Si getta le intestazioni nel stdout, in questo modo:

***@***:~$ ./phptest.sh
X-Powered-By: PHP/5.2.10-2ubuntu6.3
Content-type: text/html

echo "It works this way!";

Ma suppongo che possono sbarazzarsi di loro in qualche modo, se sono un problema.

L'unico vantaggio di questo è percorso più breve:)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top