我正在为* WRT路由器开发YAMon脚本的安装程序(参见http://www.dd-wrt.com/phpBB2/viewtopic.php?t=289324)。
我目前正在使用DD-WRT v3.0-r28647标准(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
没有人改变我仍然得到该文件的缓存版本的事实。
我在墙上敲我的头......有什么建议吗? THX!
的Al
答案 0 :(得分:0)
不是一个答案,而是一个看似可行的解决方法......
经过大量的实验,我发现wget
似乎总是从远程服务器返回最新版本的文件,如果所请求文件的扩展名为'.html' ;但如果它是其他东西(例如'.txt'或'.sh'),则不会。
我不知道为什么会发生这种情况或者它们被缓存的地方。
但是现在我这样做了,我的安装程序所需的所有文件在删除服务器上都有一个html扩展名,脚本在本地保存了适当的扩展名。 (叹息......我生命中的几天,我不会回来)
的Al
答案 1 :(得分:0)
我有同样的概率。从摄像机获取图像时,摄像机上的HTTP服务器始终发送相同的图像。
wget --no-http-keep-alive ..
解决了我的问题
我的全线是
wget --no-check-certificate --no-cache --no-cookies --no-http-keep-alive $URL -O img.jpg -o wget_last.log