2010-02-23 94 views
12

我有一個PHP腳本我想運行每一分鐘,看看是否有需要張貼的新聞稿。我在cPanel中使用「wget」作爲cron命令,但是我注意到(幾天之後),它在每次運行時在主目錄中創建一個空白文件。有什麼我需要阻止發生?Cron作業每次運行時創建空文件

謝謝。

+0

什麼是文件名,並且在作業完成後它是否繼續存在? – 2010-02-23 23:39:40

+0

我遇到了一些問題。我已經通過cpanel創建了cron作業。我已經在根目錄 – 2016-11-04 05:23:31

回答

30

當wget運行時,默認情況下,它會根據我需要記住的內容生成一個輸出文件。

您可能需要使用wget的某個選項來指定應該將其輸出寫入哪個文件,並使用/dev/null作爲目標文件(這是一個「特殊文件」,它將「吃」您可以寫入的所有內容它)


從人wget的情況來看,-O--output-file的選擇將是一個很好的候選人:

-O file
--output-document=file
文檔不會寫入相應的文件,但所有文檔都將連接在一起並寫入文件。

所以,你可能需要使用這樣的事情:

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


而且,順便說一句,腳本的輸出從運行crontab經常重定向到一個日誌文件 - 它可以隨時提供幫助。

像這樣的事情也許會有幫助,有關:

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

,您可能還希望將錯誤輸出重定向到另一個文件(可能是有用的,以幫助調試,一天不順心的事)

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

中創建了我已經運行同名文件的文件。如果不需要任何輸出,「-q」將關閉Wget的輸出。 – Danny 2013-02-19 05:20:22

+0

@Danny -q顯然並不總是足夠的。我的主機def需要-O/dev/null。還要注意,-o不等於。首都「O」在一些或所有系統中必須是重要的。 – 2013-11-22 19:47:43

+0

'-q'不工作。 Cron仍然在服務器上創建臨時文件。在對當前運行的cron進行更改後,是否需要重新啓動cron?如果是的話,那麼該怎麼做呢? – 2017-06-05 07:22:05