#!/bin/bash
#James Kenaley 20120513
#Server Monitor Script
while read -r name ip content
do
ip_status=`ping -w1 $ip | grep -c "100%"`
web_status=`nmap -n -PN -p 80 $ip | grep -c open`
ssh_status=`nmap -n -PN -p 22 $ip | grep -c open`
content_status=`diff <(curl -s $ip | md5sum) <(cat $content) | grep -c -e "<" -e ">"`
if [ $web_status -eq 1 ]
then
echo "The webserver is running on $name @ $ip"
else
echo " The webserver is offline on $name @ $ip"
fi
if [ $ssh_status -eq 1 ]
then
echo "SSH is enabled on $name @ $ip"
else
echo " SSH has been disabled on $name @ $ip"
fi
if [ $content_change -gt 0 ]
then
echo " The content has changed on $name's webserver"
else
echo "The content is the same"
fi
done < server.list
Я знаю, что простой способ состоял бы в том, чтобы сравнить содержимое другой переменной, но я ДЕЙСТВИТЕЛЬНО хочу сохранить сравнение в одной строке. Поэтому, если кто-нибудь может мне помочь, я был бы очень признателен.Как бы я сделал эту работу?
Ваш скрипт слишком много работает. –
im бросать 3 скрипта вместе Я бы надеялся, что это делало 3x работу lol – UnbrandedTech