65.9K
CodeProject 正在变化。 阅读更多。
Home

中等信任环境中的计划任务

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.30/5 (4投票s)

2007 年 12 月 11 日

CPOL

2分钟阅读

viewsIcon

27682

介绍如何在通过 Plesk CP 的 Windows 主机上设置计划任务。

引言

我一直想知道如何在 Windows 主机上运行计划任务。例如,在 Plesk 控制面板下。乍一看,一切都很好。我们有计划任务和它的“命令行”。但是命令行里应该写什么呢?这就是关键问题。

有人说 - 没问题,我会写“iexplore http://example.com/track.aspx”。

但我好奇的是,谁来关闭服务器上的这个 Internet Explorer 进程,而且如果你想每 5 分钟运行一次这个任务怎么办?

我不喜欢这种方法。那么答案在哪里呢?答案在 VB 脚本里。我们所需要做的就是创建一个 VB 脚本,并在命令行字符串中运行它。
这个脚本创建了 Microsoft.XMLHTTP 实例(是的,我们不需要像在 AJAX 中那样检查任何内容,因为我们肯定在 Microsoft 环境中)。并使用这个实例请求你的 ASPX 页面来完成整个工作。

所以,当我向我的主机支持人员询问如何计划调用 aspx 页面时,他们说 - 这是不可能的。如果想调用 ASPX 页面,就调用 PHP 页面,然后在 PHP 页面中请求你的 ASPX 页面。不用了,谢谢。

Using the Code

Plesk 屏幕... 用于添加计划任务。“可执行文件路径”应该设置为服务器上 vbs 文件的绝对路径。你可以在哪里获得这个路径... 首先,你的主机提供商应该提供关于你网站文件夹的信息。如果没有,编写一个简单的 aspx 页面,使用 Server.MapPath("my.vbs"); 那么,VB 文件里有什么呢?

Call RunIt()
Sub RunIt()
        'Let the script to finish on an error.

        On Error Resume Next
        Dim RequestObj
        Dim URL
        Set RequestObj = CreateObject("Microsoft.XMLHTTP")
        'Request URL... 

        URL = "http://www.example.com/track.aspx"
        'Open request and pass the URL

        RequestObj.open "POST", URL , false
        'Send Request

        RequestObj.Send
        'cleanup

        Set RequestObj = Nothing
End Sub        

就这样。你就可以运行计划任务了。Plesk 只是一个例子... 如果你有权访问服务器的终端,你可以使用 Windows 计划任务。

关注点

这是一件简单的事情,但我最好说是一个“技巧”,可以帮助你解决计划任务的问题。

历史

最初发布在我的 网站上。

在多个网站上用于每日内容更新,运行良好。

© . All rights reserved.