![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Forum Rules | FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Copy a file to multiple hosts | sumsriva | UNIX for Advanced & Expert Users | 5 | 09-18-2007 12:42 AM |
| HOSTS File | cymerman | UNIX for Dummies Questions & Answers | 4 | 01-19-2007 09:26 AM |
| Hosts.allow and hosts.deny | huddlestonsnk | UNIX for Dummies Questions & Answers | 1 | 10-18-2006 08:34 AM |
| hosts.allow & hosts.deny | Sorrento | UNIX for Dummies Questions & Answers | 2 | 08-18-2005 06:25 PM |
| dns and hosts file | rmuhammad | IP Networking | 4 | 11-11-2003 11:46 PM |
|
|
Submit Tools | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
|
ping hosts from config file
Hello,
I have config files for my storage where file systems are exported to lots of hosts as root. I need to write a script in ksh to somehow filter these hosts from the file and ping those and if pingable than do nothing but if not pingable than send an alert to a log file which says: host xyz not pingable: file looks like as follows: /vol/vol1/apps_data01 -sec=sys,rw,root=unixsrv1:unixsrv2:unixsrv3:mercury:mercury01:sunprd01:sunprd02 /vol/vol1/apps_data02 -sec=sys,rw,root=unixsrv1:unixsrv2:unixsrv3:mercury:mercury01:sunprd01:sunprd02 /vol/vol1/apps_data03 -sec=sys,rw,root=unixsrv1:unixsrv2:unixsrv3:mercury:mercury01:sunprd01:sunprd02 /vol/vol1/apps_data04 -sec=sys,rw,root=unixsrv1:unixsrv2:unixsrv3:mercury:mercury01:sunprd01:sunprd02 . . /vol/vol1/apps_data45 -sec=sys,rw,root=unixsrv1:unixsrv2:unixsrv3:mercury:mercury01:sunprd01:sunprd02:hpprod07:ibmprod43 I have about 26 of these files on each storage host where hosts names are same and different: I do not how to capture host names from the file and complete this logic. Appreciate your help on this. |
| Forum Sponsor | ||
|
|
|
#2
|
||||
|
||||
|
Not the most efficient solution (ideally you'd pull out all the hostnames, from all the lines then remove duplicates) but you can do this:
Code:
#!/bin/sh
while read line
do
for hostname in `echo $line | cut -d '=' -f 2 | sed 's/:/ /g'`
do
if ! ping -s $hostname 1 1 > /dev/null
then
/bin/true
else
echo "host $hostname not pingable"
fi
done
done
(Untested - you will probably need to debug a bit) |
||||
| Google The UNIX and Linux Forums |