2016-01-29 59 views
1

我正在爲* WRT路由器的YAMon腳本開發安裝程序(請參閱http://www.dd-wrt.com/phpBB2/viewtopic.php?t=289324)。DD-WRT wget返回緩存文件

我目前正在使用DD-WRT v3.0-r28647 std(01/02/16)在TP-Link TL-WR1043ND上進行測試。像其他許多人一樣,此固件版本不包括curl,所以我(優雅地)回退到wget的呼叫。但是,看起來DD-WRT包含一個精簡版的wget,因此無法識別-C和--no-cache選項。

長&短,我的wget調用堅持下載所請求文件的緩存版本。

BTW - 我使用:wget "$src" -qO "$dst" 其中src是我的遠程服務器和dst源文件是本地路由器上的目標

到目前爲止,我沒有成功嘗試: 1.追加時間戳到請求的URL 2.重新啓動路由器 3.運行stopservice dnsmasq & startservice dnsmasq 沒有改變了我仍然得到緩存版本的文件的事實。

我打我的頭靠在牆上......有什麼建議嗎?謝謝!

+0

如果您有什麼明確的'rm'文件&然後啓動一個新的'wget'?我不確定,我已經理解你的問題。 – anishsane

+0

緩存了什麼? 'wget'不會自行緩存任何東西;上游一定有什麼事情發生。但是哪裏? – duskwuff

+0

不知道事情得到緩存的地方,但至少對我來說是明確的。我更新我的刪除服務器上的文件,刪除路由器上的目標目錄,然後運行wget ...將過期的文件寫入路由器?!? –

回答

0

不是一個真正的答案,但一個看似可行的解決辦法...

大量實驗後,我發現wget似乎總是從遠程服務器返回最新版本的文件如果所請求文件的擴展名是'.html';但如果它是別的東西(例如,'.txt'或'.sh'),它不會。

我不知道爲什麼發生這種情況或他們被緩存。

但現在,我的安裝程序需要的所有文件都在刪除服務器上有一個html擴展名,腳本會在本地保存它們。 (唉...我的幾個生活的日子,我不會回來)