最近写了个同步各种微博(新浪、F5、豆瓣“我说”、推特等)的小工具,末了发现个很严重的问题,服务器是Windows的,么有linux下的cron那种方便的东西……
那么就计划任务吧。当然不可能计划任务ie了,那开销还不大的吓死人。搜了一下,wget貌似不错,开销低效率高。于是就是它了。
(更新于2012-09-04:初写本文时我的VPS还是Windows 2003,因此步骤也按照2003来写了。更高版本的Windows与此类似。)

Wget for Windows 下载Wget,注意页面底部的Requirements部分,已经写明libintl3和libiconv2、openssl也是必须的,我一开始就没看这个,导致下了好几次才搞定。

附上一个打包好的wget for windows,省的朋友们再去下那三个包,而且openssl里其实只需要两个dll,别的都不需要,但是要是去下openssl的话就是一个完整的包。
点击下载:(包括一份chm格式的手册)

准备脚本

在wget.exe所在的目录新建一个cmd或者bat的脚本文件,并在其中输入:
wget –http-user=user –http-password=pass -q -O - {url} 参数注意大小写。
–http-user和*–http-password分别指定basic认证的用户名和密码,不需要的话可以删掉。
-q的意思是指不输出详细信息,
-O*为指定下载文件的名字,值为“-”代表不命名,就是说不下载,只执行脚本。
最后面就你要请求的URL。
使用wget提交请求可以附带Cookies,详情请查阅压缩包内所附的手册。

添加计划任务

通过在“控制面板->任务计划”的功能来添加定时执行的任务,以下以每天每小时定时执行一次为例:

  • 点击“添加任务计划”,并在弹出的窗口点击“下一步”,通过“浏览”定位到我们刚才建立的脚本文件,选择“每天”执行,并再次点击“下一步”。
  • 在新的向导窗口中选择任务的开始时间为0:00,点击“下一步”输入任务执行的用户名及密码,再次点击“下一步”,完成对话,注意一定要选择“在单击完成时,显示该任务的高级属性”。
  • 在新弹出的任务的属性对话框的“日程安排”页,点击“高级”按钮,在弹出的对话框选择“重复”选项,将重复时间设为一小时,并且每天重复到23:59。点击“确定”直到完成。

至此,Windows下用wget实现Cron服务的步骤已经完成,计划任务将定时执行我们的cmd或者bat脚本,也就是定时通过wget请求指定的url。