Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 定期自动下载仙人掌天气图_Windows_Powershell_Automation_Cacti - Fatal编程技术网

Windows 定期自动下载仙人掌天气图

Windows 定期自动下载仙人掌天气图,windows,powershell,automation,cacti,Windows,Powershell,Automation,Cacti,我正在寻找一种方法,可以定期从Cacti weathermap插件自动下载天气图图像。在互联网上的任何地方,似乎都没有一种简单的方法可以只使用Windows来实现这一点,所以我想我应该a)在这里问一下,b)发布到目前为止我所做的事情 另外,我已经在下面的一个答案中公布了我的最新进展 在weathermap页面上,您可以轻松地右键单击-另存为。这将生成一个名为weathermap-cacti-plugin.png的文件 然而,网页上没有此类文件。右键单击-查看URL为我提供了以下信息: http:

我正在寻找一种方法,可以定期从Cacti weathermap插件自动下载天气图图像。在互联网上的任何地方,似乎都没有一种简单的方法可以只使用Windows来实现这一点,所以我想我应该a)在这里问一下,b)发布到目前为止我所做的事情

另外,我已经在下面的一个答案中公布了我的最新进展

  • 在weathermap页面上,您可以轻松地右键单击-另存为。这将生成一个名为weathermap-cacti-plugin.png的文件
  • 然而,网页上没有此类文件。右键单击-查看URL为我提供了以下信息:
    http:///plugins/weathermap/weathermap-cacti-plugin.php?action=viewimage&id=df9c40dcab42d1fd6867&time=1448863933
  • 我在powershell中进行了快速检查,以查看是否可以下载(它是):

    并将其添加到powershell下载脚本中

    $client = new-object System.Net.WebClient
    $time=[int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds
    $client.DownloadFile("http://<mydomain>/plugins/weathermap/weathermap-cacti-plugin.php?action=viewimage&id=df9c40dcab42d1fd6867&time=$time", "C:\data\test.png")
    
    $client=new object System.Net.WebClient
    $time=[int64]([datetime]::UtcNow)-(获取日期“1/1/1970”)。总秒数
    $client.DownloadFile(“http:///plugins/weathermap/weathermap-cacti-plugin.php?action=viewimage&id=df9c40dcab42d1fd6867&time=$time“,”C:\data\test.png“)
    
  • 这似乎是可行的——每次我运行代码时,test.png modified timestamp文件都会更新,它打开时显示了天气图的有效图片。 现在需要做的就是把它放到一个合适的脚本中,并安排它每X分钟运行一次,然后保存到一个文件夹中。我确信任务调度器中的计划powershell脚本已在其他地方介绍过,因此在此不再重复


    如果有人知道更简单的方法,请告诉我。否则,请投票支持我的答案——我已经搜索了很多,在网上找不到任何其他的结果,让你只使用Windows就可以做到这一点。Cacti论坛有两种解决方案,但它们要求你在Linux服务器上做一些事情,这对于像我这样的Linux noob来说很难。

    请在问题中分享你到目前为止管理的内容以及具体的问题所在。嗨,我已经在我发布的答案中分享了我到目前为止的发现。我会在问题中提到哦,对不起-在评论问题队列中,Anwser不可见。(Weathermap的作者)时间戳只是添加在那里以尝试阻止浏览器缓存。这对天气图内部的任何东西都没有意义。我很确定它甚至不会被读取,所以你可以把任何随机字符串,或者什么都不放在那里。哦,天哪。谢谢你的提示。我觉得自己不那么聪明。但这确实让它变得更容易——我确认使用这个URL工作:?action=viewimage&id=df9c40dcab42d1fd6867&time=one不简单下载天气图,它工作了。
    <mydomain>/plugins/weathermap/weathermap-cacti-plugin.php?action=viewimage&id=df9c40dcab42d1fd6867&time=1448863989
    <mydomain>/plugins/weathermap/weathermap-cacti-plugin.php?action=viewimage&id=df9c40dcab42d1fd6867&time=1448864049 
    
    [int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds
    
    $client = new-object System.Net.WebClient
    $time=[int64](([datetime]::UtcNow)-(get-date "1/1/1970")).TotalSeconds
    $client.DownloadFile("http://<mydomain>/plugins/weathermap/weathermap-cacti-plugin.php?action=viewimage&id=df9c40dcab42d1fd6867&time=$time", "C:\data\test.png")