Cron

為什麼只有一個 wget 命令在我的 crontab 中工作?

  • March 27, 2019

我希望每天兩次從我的伺服器上的 PHP 腳本中獲取內容,更改查詢變數lang以設置我們想要的語言,並將此內容保存在兩個特定於語言的文件中。這是我的 crontab:

*/15 * * * * ~root/apache.sh > /var/log/checkapache.log
10 0 * * * wget -O /path/to/file-sv.sql "http://mydomain.com/path/?lang=sv"
11 0 * * * wget -O /path/to/file-en.sql "http://mydomain.com/path/?lang=en"

問題是只有第一個 wget 命令行正在執行(或者準確地說:正在寫入的唯一文件是/path/to/file-sv.sql)。如果我切換第二行和第三行,/path/to/file-en.sql則改為寫入。第一行總是按預期執行,無論它在哪裡。

然後我嘗試使用lynx -dump "http://mydomain.com/path/?lang=xx" > /path/to/file-xx.sql無濟於事;仍然只有第一條 lynx 行成功執行。即使混合 wget 和 lynx 也沒有改變這一點!

有點絕望了!我錯過了什麼嗎?有數千篇關於 crontab(結合)wget 或 lynx 的文章,但似乎都涵蓋了基本設置和語法。有沒有人知道我做錯了什麼?

謝謝,

亞歷山大

嘗試在 crontab 末尾添加換行符。

文字有問題。在 vim 中編輯您的 crontab,然後顯示不可見字元。

:set invlist

您應該能夠看到然後更正它。

引用自:https://serverfault.com/questions/230370