いくつかの異なるサイトのいくつかの異なるページを特定の時間 (通常は 1 晩に 1 回) に実行するようにスケジュールする必要があります。これを行うソフトウェアはありますか?ページを呼び出して応答を記録し、呼び出されたページが正常に実行されたかどうかを記録するとよいでしょう。私は別のボックスで Helm を使用していましたが、それには優れた Web スケジューラ モジュールがありましたが、Helm はこのマシンのオプションではありません。これは Window Server 2008 ボックスです。
8 に答える
VBS ファイルを呼び出すバッチ ファイルを呼び出す標準のスケジュールされたタスクを使用します。これがこれまでで最もエレガントなソリューションではないことはわかっていますが、一貫して機能します。
バット:
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 サイトの読み込み時間を待っている間、それを再度実行します。
だから私がやったことは次のとおりです(このスクリプトは、ウェブサイトがロードされている限り、タスクをビジー状態に保ちます):
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
同様の(おそらくより強力ですが)netcatとそのWindowsポート
私はこのスクリプトとタスク スケジューラを使用することになりました。シンプルでうまく機能します。
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 を引数として呼び出します。
私はhttp://scheduler.codeeffects.comを使用しています。非常に効果的で信頼性が高く、文句はありません。
それらを同じボックスからスケジュールする必要がない場合は、Zoho の site24x7を参照してください。
最初は Web サイトを監視するように設計されていますが、予想される回答を記録して比較するオプションがあるため、外部サイトのセキュリティを強化して目的に使用できます。ただし、いくつかの URL を除いて無料ではありません。
それらは他の同様のプロバイダーですが、前回このトピックについて Web を検索したときはかなり良さそうに見えました。