3 votes

comment rendre une crontab php silencieuse

J'ai configuré une crontab dans Cpanel pour qu'elle soit lancée toutes les minutes. Cela fonctionne très bien mais je ne veux pas recevoir un e-mail toutes les minutes. J'ai un deuxième onglet cron qui fonctionne tous les jours. J'aimerais recevoir la réponse de cet onglet. Existe-t-il un moyen de dire à la crontab d'être silencieuse ou de n'envoyer un e-mail qu'en cas d'erreur ?

Je l'ai fait :

    *    *  *   *   * php /home/public_html/folder/file.php 2>&1

La dernière partie 2>&1 Je l'ai ajouté parce que je pensais que ça le rendrait silencieux.

Dans les documents de Cpanel :

Vous pouvez demander à cron d'envoyer un courriel chaque fois qu'il exécute une commande. Si vous ne souhaitez pas qu'un courrier électronique soit envoyé pour une tâche cron individuelle, vous pouvez rediriger la sortie de la commande vers /dev/null comme suit : mycommand >/dev/null 2>&1

4voto

Daniel Points 2171

Utiliser -q il signifie "tranquille" et ne génère donc pas de sortie

*    *  *   *   * php -q /home/public_html/folder/file.php

aussi, demandez-vous pourquoi vous voulez le faire tourner toutes les minutes, c'est un peu excessif.

1voto

rodjek Points 3277

2>&1 redirige tout ce qui est écrit sur stderr vers stdout

>/dev/null redirige stdout vers /dev/null

cron vous enverra toujours par courriel tout ce qui est envoyé sur stdout ou stderr, à moins d'être redirigé ailleurs. Idéalement, votre script PHP devrait être réécrit pour accepter un drapeau --quiet qui n'écrit pas tout un tas de conneries inutiles sur stdout, que vous pourriez ensuite utiliser dans votre job cron.

L'option de l'homme paresseux est de mettre une enveloppe script autour de votre travail cron qui l'empêchera de vous envoyer un courriel à moins que votre commande ne sorte non-zéro.

0voto

Istvan Points 2542

La configuration correcte serait la suivante

>/dev/null

Cela permet d'ignorer la sortie standard et de ne vous envoyer un message qu'en cas d'erreur.

Votre configuration actuelle ne gère pas la sortie standard, c'est pourquoi vous recevez un courriel à chaque fois qu'il est exécuté.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X