cómo hacer que un crontab php sea silencioso

cómo hacer que un crontab php sea silencioso

Configuré un crontab en Cpanel para que se ejecute cada minuto. Está funcionando muy bien, pero no quiero recibir un correo electrónico cada minuto. Tengo una segunda pestaña cron que se ejecuta todos los días. Me gustaría la respuesta de esta pestaña. ¿Hay alguna manera de indicarle al crontab que permanezca en silencio o que solo envíe un correo electrónico en caso de error?

Tengo:

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

Lo último 2>&1lo agregué porque pensé que lo haría silencioso.

De los documentos de Cpanel:

Puede hacer que cron envíe un correo electrónico cada vez que ejecute un comando. Si no desea que se envíe un correo electrónico para un trabajo cron individual, puede redirigir la salida del comando a /dev/null de esta manera: mycommand >/dev/null 2>&1

Respuesta1

usarlo -qsignifica "silencioso" y por lo tanto no genera resultados

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

Además, pregúntate por qué quieres ejecutarlo cada minuto, eso es un poco excesivo.

Respuesta2

2>&1redirige todo lo escrito en stderr a stdout

>/dev/nullredirige la salida estándar a /dev/null

cron siempre le enviará por correo electrónico cualquier cosa enviada a stdout o stderr a menos que se redirija a otro lugar. Idealmente, su script PHP debería reescribirse para aceptar un indicador --quiet que no escriba un montón de basura inútil en la salida estándar, que luego podría usar en su trabajo cron.

La opción del perezoso es poner unguión contenedoralrededor de su trabajo cron que evitará que le envíe correos electrónicos a menos que su comando salga de un valor distinto de cero.

Respuesta3

La configuración correcta sería

>/dev/null

Esto hace que se ignore la salida estándar y solo se le envía un correo electrónico si hay un error.

Su configuración actual no maneja la salida estándar, por lo tanto, recibe un correo electrónico cada vez que se ejecuta.

información relacionada