tôi không biết bất kỳ tiện ích nào nhưng tôi đã tự tạo cho mình một mã đơn giản cho điều đó với perl:
#!/usr/bin/perl
use Net::Ping;
use POSIX qw/strftime/;
if (-e '/var/run/net_test.pid') {
print "net_test already running.\n";
exit;
} else {
system "touch /var/run/net_test.pid";
}
my $host = "www.google.com";
my $ping = Net::Ping->new('icmp');
my $result = $ping->ping($host,2);
if ($result != 1) {
$format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is not available...";
$run = `echo $format >> /var/log/virtua_net`;
while ($result != 1) {
$result = $ping->ping($host,2);
sleep 60;
}
$format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is back...";
$run = `echo $format >> /var/log/virtua_net`;
} else {
$format = strftime('[%d/%m/%Y %H:%M:%S]',localtime)." Internet is ok...";
$run = `echo $format >> /var/log/virtua_net`;
}
$ping->close();
system "rm -rf /var/run/net_test.pid" if (-e "/var/run/net_test.pid");
exit;
Những gì nó làm là nó sẽ cố gắng ping google mỗi khi nó chạy và sau đó nó sẽ in thành một tệp nếu nó có trả lời hoặc không cùng với thời gian để bạn có thể kiểm tra sau đó từ lúc nào đến lúc internet không có sẵn.
Nếu bạn thích nó, tôi có thể thực hiện các thay đổi nhỏ để sử dụng trong windows và bạn cần phải cài đặt ActivePerl.
Những thay đổi duy nhất cần thiết là các đường dẫn và các lệnh có thể khác nhau trên các cửa sổ.