Thứ Ba, 26 tháng 2, 2013

[Shell] SSH và giám sát port đang mở



Gọi monitoring_list là file có thông tin gồm 2 cột, cột 1 chứa tên của server, cột 2 chứa port đang mở của server đó. Ví dụ: serverX 80. Từ server monitoring C, viết chương trình kiểm tra mỗi 5’ các server trong danh sách có mở port tương ứng hay không. Ghi lại kết quả trong file.


#cài nmap trước
#!/bin/bash
while read line
do
name=$(echo $line | awk '{print $1}')
port=$( echo $line | awk '{print $2}')
ssh  $name "nmap localhost">out$name
portserver=$(cat out$name | grep "^$port" | cut -f1 -d"/")
if [[ $portserver = $port ]]
then
echo "$(date) - server $name van mo port $port " >>logfile$name 
  else
echo "$(date) - server $name  khong mo hoac loi port $port " >>logfile$name
fi
done<monitoring_list

Không có nhận xét nào:

Đăng nhận xét