Доброго времени суток!
Руководство поставило задачу отследить периоды, когда на заводе отваливается интернет (дабы в конце месяца излить потоки праведного гнева на провайдера). Сидеть и записывать на бумажку и не хочу и не могу физически (часто приходится отходить от рабочего места). Решил написать скрипт, который пинговал бы google и писал лог.
Вот что получилось:
!/bin/bash
ADDR="www.google.ru"
LOGFILE="ping_log"
STATUS=1
CURSTAT=1
while true
do
if ping -c 1 -s 1 -W 1 $ADDR
then
CURSTAT=1
else
CURSTAT=0
fi
if [[ "$CURSTAT" -ne "$STATUS" ]]
then
DATENOW=`date`
if [[ $CURSTAT -eq 1 ]]
then
sed -i '$a Connection estblihed '$DATENOW'' log_file
fi
if [[ $CURSTAT -eq 0 ]]
then
sed -i '$a Connection loss '$DATENOW'' log_file
fi
fi
STATUS=$CURSTAT
done
На выходе получаю ошибку типа (при изменении статуса соединения, т.е. когда должна идти запись в лог файл):
sed: невозможно прочитать июн: Нет такого файла или каталога
sed: невозможно прочитать 7: Нет такого файла или каталога
sed: невозможно прочитать 10:00:29: Нет такого файла или каталога
sed: невозможно прочитать MSK: Нет такого файла или каталога
sed: невозможно прочитать 2013: Нет такого файла или каталога
И в лог идет запись
Connection loss Пт
Чем-то чувствую, что забыл где-то или запятую поставить, или еще что. Но где?...
Знатоки баша, может кто ткнет носом, где я протупил?
ЗЫ В линуксе относительно новичек, до этого места работы с ним не сталкивался, просьба сильно не пинать)))