Web サイトに ping を実行して可用性を確認し、ダウンしている場合にのみメールを送信しています。(その部分は、以下のコードに従ってうまく機能しています。)
require LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->timeout(20);
my $response = $ua->get('https://www.Mysite.net/websuite/');
if (! $response->is_success) {
#print 'CMM Is up and Running';
$path = "C:\\prac\\send_email_failure.ps1";
$pwspath = "c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe";
system("$pwspath -command $path"); #using powershell to invoke email utility
}
現在、スクリプトを拡張して、
ダウンしたらチェックして電子メールを送信し (現在実行中)、買収されるまで電子メールを送信しません。ちなみに、私は Windows タスク スケジューラを使用して 20 分ごとにスクリプトを実行しています。
ウェブサイトが稼働していることを確認した後、サイトが再びダウンしているかどうかを確認し、電子メールを送信する通常のプロセスに移動する必要があります (たとえば、ウェブサイトがダウンしてから買い戻し、再びダウンした場合など)。タスク スケジューラを使用して、20 分ごとにスクリプトを実行しています。
どんな助けでも感謝します。