Добре время суток !
Понадобилось написать скриптик один
Суть какая при появлении машинки в сети сервер выполняет скрипт который монтирует ftp и копирует файлы!
Скрипт который должен выполнять копирование написал все работает.
Но вот вопрос пингам , отслеживаю есть ли пк в сети или нет и если есть то выполнить скрипт если нет то нечего не делать.
Вроде все просто пингуем и сравниваем, но вот тут и начинается веселье если он один раз про пинговал и выполнил условия что ПК в сети ,то при повторном ринге допустим через 5 мин если ПК ответил что в сети он еще раз выполнит условия запустит скрипт копирования (( .
Я хотел чтоб он выполнил скрипт копирование 1 раз при первом разе проверки пинга ибо ПК потом из сети пропадает и появляется днем на след день!
Тобиш пока он копирует то по крону еще раз выполнит скрипт и будет наложение
нашел вот такое решение
#!/bin/sh
FPING="/usr/bin/fping"
WRKDIR="/opt/test_1"
DATE=`/bin/date`
MAILTO="avolon.linux@gmail.com"
for i in `/bin/ls -1 $WRKDIR/hosts`
do
echo $i
oldstatus=`cat $WRKDIR/hosts/$i`
echo $oldstatus
newstatus=`$FPING $i | /usr/bin/awk '{ print $3 }'`
echo $newstatus
if [ $oldstatus != $newstatus ]
then {
/opt/test_1/flash.sh
echo $newstatus>$WRKDIR/hosts/$i
}
fi
done
Тоесть если в файлики /hosts/192.168.0.152 появится запись alive или unreachable выполняется скрипт /opt/test_1/flash.sh
Но мне надо чтоб он один раз выполнился когда статус ALIVE а у меня он выполняемся и при unreachable ((( вот как их отделить не знаю ((
Может кто поможет ??
ТС не появлялся на Форуме более трех месяцев по состоянию на 30/01/2020 (последняя явка: 21/09/2019). Модератором раздела принято решение закрыть тему.
--zg_nico