質問

特定の時間、通常は1晩に実行されるように、いくつかの異なるサイトのいくつかの異なるページをスケジュールする必要があります。これを行うソフトウェアはありますか?ページを呼び出してから応答を記録し、呼び出されたページが正常に実行されたかどうかを記録するといいでしょう。私は別のボックスでHelmを使用していて、素晴らしいWebスケジューラモジュールがありましたが、Helmはこのマシンのオプションではありません。これはWindow Server 2008ボックスです。

役に立ちましたか?

解決

VBSファイルを呼び出すbatファイルを呼び出す標準のスケジュールタスクを使用します。私はそれがこれまでで最もエレガントなソリューションではないことを知っていますが、一貫して機能します。

BAT:

webrun.vbs http://website.com/page.aspx

VBS:

dim URL, oArgs  

Set oArgs = WScript.Arguments  

    if oArgs.Count = 0 then  
    msgbox("Error: Must supply URL")  
    wscript.quit 1  
    end if  

URL = oArgs(0)  

 on error resume next  
Set objXML = CreateObject("MSXML2.ServerXMLHTTP")  

    if err then  
    msgbox("Error: " & err.description)  
    wscript.quit 1  
    end if  

' Call the remote machine the request  
    objXML.open "GET", URL, False  

    objXML.send()  

' return the response  
    'msgbox objXML.responSetext  

' clean up  
    Set objXML = Nothing  

VBSファイル内のコードは、ほぼ確実にオーバーキルとアンダーライティングの両方ですが、それでも機能します。

他のヒント

wget.exe とタスクスケジューラ?

上の例のコードには、Webサイトの読み込み中にタスクがアクティブになるという問題があります。 Webサイトの読み込みは2分ですが、タスクは既に1秒で完了しているため、5分ごとに実行すると問題が発生します。 Webサイトが10分読み込まれ、タスクが既に1秒で完了している場合、Webサイトの読み込み時間を待機させたいときに、再び実行されます。

だから私がやったことは次のとおりです(このスクリプトはWebサイトがロードされている限りタスクを忙しくし続けます):

dim URL, oArgs, objXML
Set oArgs = WScript.Arguments
URL = oArgs(0)

on error resume next

Set objXML = CreateObject("Microsoft.XMLDOM")
objXML.async = "false"
objXML.load(URL)
Set objXML = Nothing

同じボックスからスケジュールする必要がない場合は、 Zohoのsite24x7 をご覧ください。

最初はWebサイトを監視するように設計されていますが、予想される回答を記録して比較するオプションがあり、外部サイトのセキュリティを強化して目的に使用できます。ただし、いくつかのURLを除いて無料ではありません。

これらは他の同様のプロバイダーですが、前回このトピックでWebを検索したときにかなり良いように見えました。

最終的にこのスクリプトとタスクスケジューラを使用しましたが、シンプルでうまく機能します。

Call LogEntry()
Sub LogEntry()

'Force the script to finish on an error.
On Error Resume Next

'Declare variables
Dim objRequest
Dim URLs
URLs = Wscript.Arguments(0)
Set objRequest = CreateObject("Microsoft.XMLHTTP")

'Open the HTTP request and pass the URL to the objRequest object
objRequest.open "POST", URLs, false

'Send the HTML Request
objRequest.Send

Set objRequest = Nothing
WScript.Quit

End Sub

次に、実行したいURLを引数として呼び出します:

類似(おそらくより強力ですが)は netcat とその windows port

fyi-wgetはGNU標準ライセンスであるため、ほとんどの商用/専有システムで使用できるかどうかはわかりません。

http://scheduler.codeeffects.com を使用しています。非常に効果的で信頼性が高く、苦情はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top