Domanda

Sto cercando di eseguire uno script di test utilizzando crontab all'interno di Plesk. Il file php semplicemente email me un messaggio

mail('me@somewhere.com','Cron Test','Test');  

Il mio percorso di php è / user / bin / php

ho inserito * in ogni campo, per eseguire lo script ogni minuto con il seguente comando:

/usr/bin/php -q /usr/httpdocs/crontest.php

Tuttavia, lo script non è in esecuzione.

Chiunque può aiutare?

Sono probabilmente manca cron qualcosa di semplice, non ho mai usato prima d'ora.

Qualche consiglio apprezzato.

Grazie.

È stato utile?

Soluzione

Vorrei iniziare da ottenere per scrivere un file di log. ad esempio:

* * * * * /usr/bin/php -q /usr/httpdocs/crontest.php >> /a-location/crontest.log 2>&1

Questo almeno dare eventuali errori evidenti come non essere in grado di trovare php ecc.

Altri suggerimenti

ho scoperto che quando si utilizza il cron basata utente in Plesk, ci sono una serie di questioni:

prima ho scoperto che si dovrebbe fare riferimento lo script dal dominio virtuale. Se lo script ha un indirizzo assoluto di /var/www/vhosts/domain.com/httpdocs/email-this.php, si dovrebbe fare riferimento a esso come httpdocs / email-this.php nel crontab.

In secondo luogo, lo script deve avere molto particolari permessi, ma non sono sicuro che essi "devono essere". apache: apache è tutto ciò che mai ha funzionato per me. Anche con impostare il permesso gruppo di scrittura, l'utente doveva ancora essere apache ... strano.

In terzo luogo, il modo più semplice per eseguire i test è stato quello di modificare il crontab direttamente invece di tornare in Plesk ogni volta che avevo bisogno di fare un cambiamento ... Modificare il crontab in questo modo:

crontab -u [filesystem-username] -e

In quarto luogo, non potrei mai ottenere il crontab per scrivere in un file di log al di fuori di httpdocs (ho provato statistiche / logs / cron_log ogni modo ho potuto pensare ... lol ... niente da fare). Ho finito appena aggiungere la direttiva MAILTO nella parte superiore del file crontab durante i test:

es:

MAILTO=you@domain.com
##      *       *       *       *       *       php -q httpdocs/cron.php

Si veda anche questo se si dispone di Plesk 10 o superiore: http://shaun.net/2011/09/solving-plesk-10-3-1-cron-issues/

Ho dovuto fare questo

/ usr / local / psa / bin / server_pref -u -crontab-secure-shell "/ bin / sh"

per ottenere questo (esempio) di lavoro: wget -O - http://www.yourdomain.com/ cron.php

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