1

Тема: Помогите написать скрипт

Постоянно пропадает интернет и через некоторое время появляется. Провайдер посоветовал написать скрипт. Скрипт заключается в том, чтобы на сервере пропинговал DNS сети и Google DNS (8.8.8.8) каждый час. При этом результаты записывались в файлы с конкретными датой и временем. Сам написать не могу, в силу того что не смыслю в написании скриптов ничего.

2

Re: Помогите написать скрипт

поиск в гугле занял 5 секунд

#! /bin/bash
IP=$1
trap "my_exit" 1 2 3 15
my_exit()
{
rm $IP.tmp 2> /dev/null
cat $HOME/iplogs/$IP.log  | grep % | awk '{tot+=$1}; END {print "=======\nИтого потеряно "tot" пакетов"}' >> $HOME/iplogs/$IP.log
echo -e "\n Пинг для хоста $IP завершен"
exit 1
}
# проверяем есть ли в папке  файла с таким же IP
 if [ -s $HOME/iplogs/$IP.log ]; then
# вычисляем номер последнего файла  с таким же IP
 NUMBER=`ls $HOME/iplogs/ | grep "$IP\_[0-9]\{3\}.log" | awk -F_ '{print substr($2,1,3)}' | sed -n '$p'`
# присваиваем следующий по счету номер параметру отвечающему за номер копии
        NUMBER=`expr $NUMBER + 1`
# перемеименуем старый файл
        if [ "$NUMBER" -gt 99 ]; then
 mv $HOME/Документы/iplogs/$IP.log $HOME/Документы/iplogs/$IP\_$NUMBER.log
                elif [ "$NUMBER" -lt 100 ] && [ "$NUMBER" -gt 9 ]; then
                mv $HOME/Документы/iplogs/$IP.log $HOME/Документы/iplogs/$IP\_0$NUMBER.log
                        else mv $HOME/Документы/iplogs/$IP.log $HOME/Документы/iplogs/$IP\_00$NUMBER.log
        fi
fi
# Оператор :  позволяет бесконечно выполнять цикл
while :
do
ping -c 1 -W 1 $IP > $IP.tmp
i=`cat $IP.tmp | grep % |awk '{print $6 }' | awk 'BEGIN {FS = "%"} {print $1}'`
        if [ $i != 0 ]
         then (date | awk '{print $4}' ; sed -n -e '/\%/p' -e '1p' $IP.tmp) >> $HOME/Документы/iplogs/$IP.log
        fi
rm $IP.tmp
done