2010-02-23 11 views
12

Ho uno script php che voglio eseguire ogni minuto per vedere se ci sono bozze di notizie che devono essere postate. Stavo usando "wget" per il comando cron in cPanel, ma ho notato (dopo un paio di giorni) che questo stava creando un file vuoto nella directory principale ogni volta che veniva eseguito. C'è qualcosa che devo impedire che ciò accada?Cron job che crea file vuoti ogni volta che viene eseguito

Grazie.

+0

Qual era il nome file e si è bloccato dopo il completamento del lavoro? –

+0

ho riscontrato qualche problema. ho creato cron job da cpanel. quale file ho eseguito con lo stesso nome file creato nella radice –

risposta

30

Quando wget viene eseguito, per impostazione predefinita genera un file di output, da quello che devo ricordare.

Probabilmente è necessario utilizzare alcune opzioni di wget, per specificare a quale file deve scrivere l'output e utilizzare /dev/null come file di destinazione (È un "file speciale" che "mangia" tutto ciò che è possibile scrivere su it)


a giudicare da uomo wget, l'opzione -O o --output-file sarebbe un buon candidato:

-O file
--output-document=file
I documenti non verranno scritti nei file appropriati, ma tutti saranno concatenati insieme e scritti su file.

così, potrebbe essere necessario usare qualcosa di simile:

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


E, a proposito, l'uscita di script eseguito dalla crontab è spesso reindirizzato a un file di log - può sempre aiutare.

Qualcosa di simile potrebbe aiutare, a tale proposito:

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

E si potrebbe anche voler reindirizzare l'output di errore in un altro file (può essere utile, per aiutare con il debug, il giorno qualcosa va storto):

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

"-q" disattiverà l'output di Wget se non è necessario alcun output. – Danny

+0

@Danny -q evidentemente non è sempre sufficiente. il mio host def aveva bisogno di -O/dev/null lì dentro. Si noti inoltre che -o NON è equivalente. La "O" maiuscola deve essere importante su alcuni o su tutti i sistemi. –

+0

'-q' non funziona. Cron continua a creare file temporanei sul server. Devo riavviare cron dopo aver apportato le modifiche al cron corrente? Se sì, allora come si fa? –

Problemi correlati