2010-02-23 8 views
12

Tengo un script php que quiero ejecutar cada minuto para ver si hay borradores de noticias que deben publicarse. Estaba usando "wget" para el comando cron en cPanel, pero noté (después de un par de días) que esto creaba un archivo en blanco en el directorio principal cada vez que se ejecutaba. ¿Hay algo que necesite para evitar que eso suceda?Cron trabajo creando archivo vacío cada vez que se ejecuta

Gracias.

+0

¿Cuál era el nombre del archivo, y fue que se pegue alrededor después de terminado el trabajo? –

+0

tengo la cara algún problema. He creado el trabajo cron por cpanel. qué archivo he ejecutado el archivo del mismo nombre creado en la raíz –

Respuesta

30

Cuando se ejecuta wget, de manera predeterminada, genera un archivo de salida, por lo que necesito recordar.

Probablemente necesite usar alguna opción de wget, para especificar a qué archivo debe escribir su salida, y use /dev/null como archivo de destino (Es un "archivo especial" que "comerá" todo lo que puede escribir en es)


a juzgar por el hombre wget, la opción -O o --output-file sería un buen candidato:

-O file
--output-document=file
Los documentos no se escribirán en los archivos apropiados, pero todos se concatenarán juntos y se escribirán en el archivo.

es así, puede que tenga que usar algo como esto:

wget -O /dev/null http://www.example.com/your-script.php 


Y, por cierto, la salida de ejecutar secuencias de comandos desde el crontab menudo se redirige a un archivo de registro - que siempre puede ayudar.

Algo como esto podría ayudar, por eso:

wget -O /dev/null http://www.example.com/your-script.php >> /YOUR_PATH_logfile.log 

Y también puede ser que desee para redirigir la salida de error a otro archivo (puede ser útil, para facilitar la depuración, el día algo va mal):

wget -O /dev/null http://www.example.com/your-script.php >>/YOUR_PATH/log-output.log 2>>/YOUR_PATH/log-errors.log 
+4

"-q" apagará la salida de Wget si no necesita ningún resultado. – Danny

+0

@Danny -q evidentemente no siempre es suficiente. mi host def necesitaba -O/dev/null allí. También tenga en cuenta que -o NO es equivalente. La "O" mayúscula debe ser importante en algunos o en todos los sistemas. –

+0

'-q' no funciona. Cron sigue creando archivos temporales en el servidor. ¿Debo reiniciar cron después de realizar cambios en el cron actualmente en ejecución? Si es así, ¿cómo hacerlo? –

Cuestiones relacionadas