Pregunta

Tengo un script php que usa curl y todo está bien. Se ejecuta a través de un trabajo cron. Regreso más tarde y cada vez que se ejecuta un nuevo archivo con la salida se ha guardado.

¿Cómo evito que se creen estos archivos?

¿Fue útil?

Solución

Es el demonio cron que crea ese archivo. Por defecto guarda el stdout en un archivo. Cambie el script para apuntar su salida a / dev / null en su lugar:

/ etc / crontab:

59 *    * * *   USER    curl localhost/script.php > /dev/null 2>&1

Eso haría el truco.

/ Zyber

Otros consejos

Si está utilizando wget para llamar a su script en cron, es posible que deba configurar la salida en dev / null de la siguiente manera:

59 * * * * wget -O - -q http://yourdomain.com/path/to/script.php

El -O especifica dónde se escribe la salida y el siguiente - especifica dev / null. -q le dice a wget que se ejecute en modo silencioso, lo que significa que no escribirá mensajes en stdout.

También puede suprimir cualquier salida de cron, si está creando los archivos, cambiando la línea anterior a la siguiente:

59 * * * * wget -O - -q http://yourdomain.com/path/to/script.php > /dev/null 2>&1

El problema era que, dado que está en una cuenta de hosting 'compartida', afirman que no es posible enviar los resultados cron a / dev / null. Quién sabe, a quién le importa. Para solucionar el problema, he creado un script que elimina todos los días los archivos de salida. Gracias por la ayuda de todos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top