написване на 1 скрипт!

14 отговора 0 прегледа
#1

написване на 1 скрипт!

Здравейте,
идеята за този скрипт е, когато съм на далеко и ми се обадят, че е спрял нета (зад рутер сме аз и 6 машини), да не звъня на нашите и да им викам хайде сега пиши това, я сега напиши това и кажи какво връща, ами просто да пусне скрипта и той ако може да върне къде е проблема и аз само да им обясня къде какво да направят.
идеята е следната (приемам и други идей и предложения):
1. mii-tool. ако няма линк да изкара съобщение, че е изкл кабела или няма ток на суича.
2. nmap -sP 192.168.0.1-8
ако върне само моето ип (0.2) то зна4и суича е забил. ако вижда и други ип-та то пуска арпинг до рутера. ако няма арпинг до него евентуално да се отиде да се рестартира машината :). ако има арпинг продължава с пинг до сайт (примерно google.com)
ако няма пинг то някъде от рутера навън се губи връзката. ако има пинг то значи е забил някой от следващите суичове.
има и опция ако няма пинг до сайт да се пробва с пинг до 217.79.79.2 (телекомса) и ако при него върне, значи има проблем с ДНС-а, ама ако ми звъннат че някой няма нет ще го питам по тела още дали поне скъпе му работи и ще изключа възможността за проблек с ДНС-а.
на пръв поглед това ми е идеята, обаче идея си нямам как да се напише това като скриптче, че както казах е куцо да карам нашите да пишат всичките тези неща.
Ще съм мн благодарен ако някой го направи това или само 1-2 реда да напише да видя логиката, а аз ще си го развия после. Или ако някой има друга по-добра идея или допълнение нека сподели.

Отговор
в отговор на питaнko #2

Re: написване на 1 скрипт!

Ми не чаткам какъв ти е проблема.
На Perl такова скриптче се пише бързо, ако закачиш един GSM модем на серийния порт - при проблем ще може и SMS да получаваш.
А самия скрипт го стартираш периодично през cron и си в бизнеса.
ПП
Очевидно е че скрипта може да се напише и на други езици.

Bеer? Mоre?
Плацебото
Отговор
в отговор на питaнko #3

Re: написване на 1 скрипт!

a ako ima vsichko tova da ide da napravi edna musaka ?

Дишайте лепило - хиляди Linux юзери не могат да грешат !
DrFrancky
Отговор
в отговор на DrFrancky #4

Re: написване на 1 скрипт!

не се и съмнявам, че може да се напише на най-различни езици. въпроса е, че
от никои от тях нищичко не разбирам :). е, това с GSM към компа е добра идея, ама
доусложнява нещата, а и пак опира до програмиране (или поне писане на скриптове)

Отговор
в отговор на питaнko #5

Re: написване на 1 скрипт!

Е ми в резюме - от скрипта викаш всяка от командите дето вече си ги изложил, прихващаш изхода на командата и действаш съответно резултата - демек продължаваш със следващата или "пищиш" за помощ.
Според мен - хващаш се и се научаваш. Или наемаш някой да ти го направи.
Не е сложно, ама с един ред няма да стане - поне аз не мога да го направя с един ред.

Bеer? Mоre?
Плацебото
Отговор
в отговор на bira_more #6

Re: написване на 1 скрипт!

да де. на теория знам, че е еди си какво и после
"ако" има еди си какво, тогава направи еди си какво.
ама не съм програмирал.
а идеята ми беше ако покажеш с 1-2 реда как става това, може
и да успея да го донапиша останалото :)

Отговор
в отговор на питaнko #7

Re: написване на 1 скрипт!

#!/usr/bin/perl


$CallNum = `ping -c 2 192.168.1.1`;
if($CallNum=~/2 received/){
print "Good\n";
}else{
print "Bad\n";
}


Bеer? Mоre?
Плацебото
Отговор
в отговор на bira_more #8

Re: написване на 1 скрипт!

Абе хвани exit status-а директно, какво си играеш да parse-ваш output-а.

p.s.
dir.bg да си заврът captcha-та отзад.

Отговор
в отговор на teh #9

Re: написване на 1 скрипт!

"captcha-та"?! какво е тва?

hell storms, rush over the earth
bestial invasioooooooooooon
Отговор
в отговор на ЛУД ПPЪЧ #10

Re: написване на 1 скрипт!

Неуките да се научат да ползват Wikipedia.

Отговор
в отговор на teh #11

Re: написване на 1 скрипт!

ами няма да мога да го направя значи :)
мда. наистина този код е мн лош. поне да имаше
повече интервал м/у символите иди-доди.
ама толкова нагъсто са ги сложили.......
значи няма да го бъде скрипта :)

Отговор
в отговор на питaнko #12

Re: написване на 1 скрипт!

а не може ли някак си на баш?
някак с греп и разни такива?!?
поне с iptables съм си писал така скриптче :)

Отговор
в отговор на питaнko #13

Re: написване на 1 скрипт!

Може на bash, може на много и различни езици.
Ама аз на bash го немога а не ми се губи време.
Та - искаше редче, дадох ти редче, макар че май бях споменал че твоята така няма да я бъде.
Или ще загубиш време да научиш как се прави или ще платиш на някой да ти го направи - или няма да го имаш.
ПП
Ако ще плащаш - по добре е може би да намериш някой да го напише на bash.

Bеer? Mоre?
Плацебото
Отговор
в отговор на bira_more #14

Re: написване на 1 скрипт!

еи все за пари мислите, ам добре, 4е има добри хорица :)

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
myIP="192.168.0.2"
myROUTER="192.168.0.1"
myNMAP="192.168.0.1-8"
myISP="217.79.79.2"

TEST_LINK() {
if [ "$(mii-tool 2>/dev/null | grep eth.:\ no\ link)" ]; then
echo "One iface link is down, find the cable"
fi
}

TEST_NMAP() {
if [ "$(nmap -sP ${myNMAP} | egrep -o \([0-9]\ host\ up\) | egrep -o [0-9])" -le "1" ]; then
echo "Can\'t reach other hosts at layer 3"
else
apring -f ${myROUTER}
ping -c 10 google.com
fi
}
TEST_ISP() {
if [ "$(ping -c 2 192.168.200.1 | grep 100%\ packet\ loss)" ]; then
echo "Can\'t reach ISP at layer 3"
fi
}

TEST_LINK
TEST_NMAP
TEST_ISP



това звучи доста по-добре и с малко 4етене на хелповете на егреп и някоя и
друга програмка ще мога да си го дооправя, въпреки 4е и така по4ти става :)

Отговор
в отговор на питaнko #15

Re: написване на 1 скрипт!

някой може ли да ми обясни какво е това:

TEST_LINK() {
if [ "$(mii-tool 2>/dev/null | grep eth.:\ no\ link)" ]; then
echo "nqma link!"
fi
}

направих си 1 опит:

root@darkstar:~# mii-tool 7>/dev/null
eth0: negotiated 100baseTx-FD flow-control, link ok
eth1: negotiated 100baseTx-FD flow-control, link ok
root@darkstar:~# mii-tool 1>/dev/null
root@darkstar:~# mii-tool 2>/dev/null
eth0: negotiated 100baseTx-FD flow-control, link ok
eth1: negotiated 100baseTx-FD flow-control, link ok
root@darkstar:~#

но не ми е ясно значението на това :))

Отговор