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.
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