2011-09-29 151 views
2

我創建的Cron作業每次運行時都會自動創建一個空白文件。創建空白文件的Cron作業

有沒有辦法解決這個問題,以便它不創建這個文件?

下面是cron作業的命令:

/usr/bin/wget http://nitelife.wmetools.com/backend/index.php/ratings/overall_ratings_history 
+0

當我訪問時,我得到一個空白頁面:http://nitelife.wmetools.com/backend/index.php/ratings/overall_ratings_history(GET overall_ratings_history 200 OK nitelife.wmetools.com 0 111.67.13.57:80) –

+0

創建文件的cron作業還是PHP代碼?我的猜測是代碼。 – Herbert

+0

wget命令行參數 - 刪除後 – 2011-09-29 02:39:13

回答

1

它下載一個空文件,因爲這是該網址給你。如果您確定和/或不關心某天的可能性,那麼URL可能會發送一些數據(如某種不常見的消息,如錯誤),請將「-O/dev/null」添加到wget命令中線。這將確保wget根本不寫真實文件。如果出現4xx或5xx錯誤消息,您仍然可以通過標準錯誤將某些內容從cron發送到電子郵件中,但是如果任何消息通過普通的HTML在200響應中發送,它將會丟失。

雖然這提出了問題,爲什麼「wget」鏈接在第一位呢?如果你只是想運行.php腳本而不關心它的輸出,我想第一個建議就足夠了。否則,您可能需要一個簡短的腳本,它將使用-O來寫入臨時文件,並測試非零文件大小(bash中的「-s」),然後將文件移動到正確的位置,或刪除長度爲0的文件。這樣,正常的位置將只有它上一次有任何數據的文件。

如果這個PHP文件是你的,你可以編輯它,這樣它不會再給出200狀態碼和長度爲0的文檔。有一個很少使用的「204無內容」HTTP狀態碼。我沒有用204測試過wget,但是在這種情況下它確實不應該保存文件,也不應該被認爲是錯誤。

0

以下將刪除由wget創建的文件。

/usr/bin/wget -q --delete-after http://nitelife.wmetools.com/backend/index.php/ratings/overall_ratings_history 

你可能會失去這些文件中的信息。