2009-11-25 6 views
1

J'essaye d'exécuter un script de test en utilisant crontab dans Plesk. Le fichier php simplement moi des e-mails, un messageCrontab dans Plesk

mail('[email protected]','Cron Test','Test'); 

Mon chemin vers php est/utilisateur/bin/php

Je suis entré * dans tous les domaines, pour exécuter le script chaque minute avec la commande suivante:

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

Toutefois, le script n'est pas en cours d'exécution.

Quelqu'un peut-il aider?

Je manque probablement quelque chose de simple, je n'ai jamais utilisé cron auparavant.

Un conseil apprécié.

Merci.

Répondre

2

Je commencerais par l'obtenir pour écrire dans un fichier journal. par exemple:

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

Cela au moins vous donner des erreurs évidentes comme ne pas être en mesure de trouver php etc.

+0

Il devrait déjà être envoyer des e-mails avec le résultat de l'exécution, sauf si vous avez spécifiquement ajouté '2> & 1' à la fin de la commande. –

1

J'ai trouvé que lors de l'utilisation du Cron à base d'utilisateur dans plesk, il y a un certain nombre de questions:

d'abord j'ai trouvé que vous devriez référencer le script du domaine virtuel. Si votre script a une adresse absolue de /var/www/vhosts/domain.com/httpdocs/email-this.php, vous devriez le référencer comme httpdocs/email-this.php dans le fichier crontab. Deuxièmement, le script doit avoir des autorisations très particulières, mais pas sûr de ce qu'ils "doivent être". Apache: Apache est tout ce qui a déjà fonctionné pour moi. Même avec le groupe d'autorisations d'écriture de groupe, l'utilisateur devait toujours être apache ... bizarre.

Troisièmement, la meilleure façon de faire le test était de modifier le crontab directement au lieu de retourner dans plesk chaque fois que je devais faire un changement ... Modifier votre crontab comme ceci:

crontab

-u [ Quatrièmement, je n'ai jamais pu obtenir la crontab pour écrire dans un fichier journal en dehors de httpdocs (j'ai essayé statistics/logs/cron_log comme je pouvais penser ... lol ... pas de dés). J'ai fini juste ajouter la directive MAILTO en haut du fichier crontab au cours des essais:

par exemple:

[email protected] 
##  *  *  *  *  *  php -q httpdocs/cron.php 
Questions connexes