03-18-2003
PERL: ping and e-mail
I need a script to open a text file with ip's in it, ping them, split the results into the ip and time from the results and e-mail them ?
here what i've done.
its porbly wrong and not workin.its for win nt4
use Net::SMTP;
# get list of ip's to ping
open (PINGFILE, "< c:\\Documents and Settings\\pinghosts.txt") or die "Can't open PingHost lsit: $!";
my @pinglist;
my $machinenumber = 0;
while ($line = <PINGFILE>) {
chomp $line;
$pinglist[$machinenumber] = $line;
$machinenumber++;
}
# now ping all machines
foreach $host (@pinglist)
{
system ("ping $host > @result");
}
#split result into name and time
foreach $reply (@results){
($reply)=split(//, $_)
};
#get list of e-mail addresses to send e-mails to
open (EMAILS, "< c:\\Documents and Settings\\emaillist.txt") or die "Can't open e-mail list: $!";
@TO = readdir EMAILS;
foreach $to (@TO){}
$from = "colinctdprep@oceanfree.net";
@body = $reply;
$subject = "PERL pinghost program report";
{
$smtp = Net::SMTP->new("icmp");
die "Could not make connection: $!" if (defined $smtp);
$smtp->mail($from);
$smtp->to($to);
$smtp->data();
$smtp->datasend("To: $to\n");
$smtp->datasend("From: $from\n");
$smtp->datasend("Subject: $subject\n");
$smtp->datasend("\n");
foreach(@body) {
$smtp->datasend("$_\n");
}
$smtp->dataend();
$smtp->quit;
}
close EMAILS;
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I know how to ping in Perl. That is easy. What I am wondering is if there is a way for Perl to determine whether the ping was successful or not. Or do I need to save the results out and parse the results seperately looking for the #of tries and successful revieves.
Thanks. (1 Reply)
Discussion started by: gdboling
1 Replies
2. Shell Programming and Scripting
All
Please help, i will telnet to router to obain the ping status and compare, if higher than normal latency, i will have further action..
if i do the telent and in perl script then ....
e.g the result i obtain from the router will be =' Success rate is 100 percent (5/5), round-trip... (4 Replies)
Discussion started by: optimus
4 Replies
3. Shell Programming and Scripting
Dear All
Any one able been writing any command ping in perl??basically i want to wring ping script to send 1000 packet ping then initiate "Ctrl C' terminal to ping example below:-]
#!/usr/local/bin/perl
$r=`/bin/ping 172.23.11.254`;
Thank You
---------- Post updated at 10:27 PM ----------... (2 Replies)
Discussion started by: netxus
2 Replies
4. Shell Programming and Scripting
Hi,
I have this script in ksh, what it does is loop every ip in the nodes_nso and produced another variable up_nodes_nso of only ip's that are up.
nodes_nso=$(cat /var/tmp/nodes.txt)
echo "ICMP Tests:"
up_nodes_nso=""
for ip in ${nodes_nso} ; do
ping ${ip} 3 > /dev/null
if ; then
... (1 Reply)
Discussion started by: borderblaster
1 Replies
5. Programming
Hi All
i have an issue with ping, we are using dhcp and so if the machine has been offline and i ping it, i get " ping: unknown host <hostname>
is there a way i can stick a loop somewhere so it would keep trying when it got the unknown host error and then when the machine came back online... (2 Replies)
Discussion started by: ab52
2 Replies
6. Shell Programming and Scripting
Hi There
i have little situation that i could us some help with. We have a dhcp server, but the problem is if that a machine has been offline for a while it loose it's lease and so if you ping it you get unknown host
if there a way using perl that it will continue to try and ping it, even tho... (1 Reply)
Discussion started by: ab52
1 Replies
7. Shell Programming and Scripting
Hi,
I develop simple animation ping script on Solaris Platform. It is like Cisco ping.
Examples and source code are below.
bash-3.00$ gokcell 152.155.180.8 30
Sending 30 Ping Packets to 152.155.180.8
!!!!!!!!!!!!!.!!!!!!!!!!!!!!!.
% 93.33 success... % 6.66 packet loss...... (1 Reply)
Discussion started by: gokcell
1 Replies
8. Shell Programming and Scripting
I have written perl ping program to ping list of IPs one by one and print the status.But each and every time it is showing the status as Pass for all IPs even though the IP is wrong.
multipleip.pl
use Net::Ping;
$p = Net::Ping->new();
$ifile="inventory.txt";
... (2 Replies)
Discussion started by: scriptscript
2 Replies
9. Shell Programming and Scripting
Hi all,
I am using the below code to ping a code and print whehter the connection is successful or not.
use Net::Ping;
$p = Net::Ping->new();
my $host = "x.x.x.x";
# print "$host is alive.\n" if $p->ping($host);
if ($p->ping($host,3))
{
print... (0 Replies)
Discussion started by: scriptscript
0 Replies
10. Programming
help with bash script!
im am working on this script to make sure my server will stay online, so i made this script..
HOSTS="192.168.138.155"
COUNT=4
pingtest(){
for myhost in "$@"
do
ping -c "$COUNT" "$myhost" &&return 1
done
return 0
}
if pingtest $HOSTS
#100% failed... (4 Replies)
Discussion started by: mort3924
4 Replies
BUNDLE(1) General Commands Manual BUNDLE(1)
NAME
bundle - collect files for distribution
SYNOPSIS
bundle file ...
DESCRIPTION
Bundle writes on its standard output a shell script for rc(1) or a Bourne shell which, when executed, will recreate the original files.
Its main use is for distributing small numbers of text files by mail(1).
Although less refined than standard archives from ar(1) or tar(1), a bundle file is self-documenting and complete; little preparation is
required on the receiving machine.
EXAMPLES
bundle mkfile *.[ch] | mail kremvax!boris
Send a makefile to Boris together with related and files. Upon receiving the mail, Boris may save the file sans postmark, say in
gift/horse, then do
cd gift; rc horse; mk
SOURCE
/rc/bin/bundle
SEE ALSO
ar(1), tar(1), mail(1)
BUGS
Bundle will not create directories and is unsatisfactory for non-text files.
Beware of gift horses.
BUNDLE(1)