написать скрипты на шелле

akelsh

Кто может помоч написать пару скриптов на шелле?
Очень надо до завтра сделать...

psihodog

пиши, чего надо-то

akelsh

надо сначала посмотреть формат конфигов прямой и реверс зон dns и
вобще есть уже один большой длинный скрипт
к нему надо функцию прикрутить
к ней должно задаваться несколько параметров: [что тестить] IP MAC и hostname
надо чтобы эта функция тестила наличие этих записей с этими параметрами и если найдет хоть один писала warning и где ево нашла
это надо для прямой и обратной зоны сделать и еще для конфига dhcp
но надо чтобы в конфиге dhcp смотрелись все сразу параметры (и только тогда warning)
получится типа
check {
case $1 of
dns_прямой) # не помню как по английски будет
dns_reverse)
dhcp)
esac
}

akelsh

Кто небудь мне поможет?
Я не успею щас сама написать

garikus

как-то так штоле ?

#!/bin/sh
A=a
B=b
DHCP=dhcp
check_a
{
if [ -f "${A}" ]; then
cat "${A}" | grep "IN A" |
while read line; do
hostname=`echo ${line} | cut -d" " -f1`
if [ "$1" = "${hostname}" ]; then
ip=`echo ${line} | cut -d" " -f4`
echo "check_a: WARNING: ${hostname} ${ip}"
fi
done
else
echo "check_a: ERROR: file \"${A}\" not found"
fi
}
check_b
{
if [ -f "${B}" ]; then
cat "${B}" |
while read line; do
if [ ! -z "`echo ${line} | grep \".in-addr.arpa.\"`" ]; then
ip3=`echo ${line} | cut -d"." -f1`
ip2=`echo ${line} | cut -d"." -f2`
ip1=`echo ${line} | cut -d"." -f3`
elif [ ! -z "`echo ${line} | grep \"IN PTR\"`" ]; then
ip4=`echo ${line} | cut -d" " -f1`
if [ "$ip1.$ip2.$ip3.$ip4" = "$1" ]; then
hostname=`echo ${line} | cut -d" " -f4 | sed s'/.$//'`
echo "check_b: WARNING: $1 ${hostname}"
fi
fi
done
else
echo "check_b: ERROR: file \"${B}\" not found"
fi
}
check_dhcp
{
echo "not implemented"
}
check
{
if [ $# = 2 ]; then
case $1 in
a)
check_a $2
;;
b)
check_b $2
;;
dhcp)
check_dhcp $2
;;
*)
echo "invalid argument"
esac
else
echo "invalid arguments"
fi
}
check a server
check b 192.168.0.1

sergey_m

надо сначала посмотреть формат конфигов прямой и реверс зон dns
ports/dns/nslint
Оставить комментарий
Имя или ник:
Комментарий: