tareas - Si repito una afirmación y nadie lo oye, ¿alguna vez se hace eco?(Pregunta de trabajo de cron de PHP)
ejecutar script php automaticamente windows (2)
La respuesta es sí, y la salida se envía por correo a la cuenta que ejecuta la tarea cron. Puede cambiar esto en el archivo crontab configurando una opción "MAILTO = nombre de cuenta", como este ejemplo de archivo cron:
MAILTO=root
# run a script every hour
01 * * * * root run-parts /etc/cron.hourly
#etc.
Cualquier salida de la tarea cron anterior se enviaría por correo al usuario raíz. Como Mike B publicó, también puede simplemente redirigir la salida a otra parte en la línea de trabajo usando el operador >
:
01 * * * * php testscript.php > /var/log/logfile.log
en cuyo caso, cron no lo ve y no envía un correo electrónico.
La conclusión es que si deja algunas declaraciones de echo
en un script PHP y lo establece como un trabajo de cron, entonces comenzará a recibir correos electrónicos del daemon de cron.
Así que tengo un script que depuro con un montón de declaraciones de eco. Esto se ejecuta cada 3 minutos en mi servidor por cron, y a veces dejo las declaraciones de eco allí. No van a un navegador, solo van ... ¿a algún lado?
Esta es una pregunta vaga, supongo, pero ¿qué sucede cuando no hay un usuario final o salida para una declaración de eco? ¿Acapara la memoria? ¿Simplemente se desvanece? Agradecería cualquier ayuda para entender esto.
Sí, se entregan pero no a nadie en particular (ver la respuesta de zombat , se envía por correo al propietario de la crontask). Puede escribir el resultado de su script en un archivo a través de:
php myscript.php > /var/log/cronlog.log
(Suponiendo que estés usando Linux desde que dijiste cron y no programó la tarea)