Ongeveer ses maande na my laaste hersiening Dreambox monitering van siteshemale my ek kan anunciam nuwe en waarskynlik een van die laaste weergawes van Nuka. Версията беше готова още преди 2 maande, maar as gevolg van luiheid, waar as gevolg van ontfouting dinge pozabavim met die aankondiging. Binne'n paar dae van die werk 32 dreambox 500-s en in die Algemeen die resultate is baie goed. Die veranderinge was baie – verwyder was editstate zavisimost van Linux bediener oor te dra logs – jy hoef nie te hê apache + php, omdat die nuwe stelsel vir die opname van hout, gedien as parameters van'n php script op die bediener. Ook, ek verander die script uit te voer sonder die backend – as jy satelliet ontvangers maak sin om jou voortdurend hardloop die bediener wat dit geneem sal word inPhoto so kan veroorsaak hardcode in die script 2 inligting veranderlike OPNAME en. Ook, ek verklaar'n bykomende veranderlike vir ontfouting – as jy nie wil hê jy swiep tydskrifte – weer dom fout gemaak het, in vergelyking met die voorheen 🙂 Lig popraviti in die kode is napraveno, dit is soort van soos geskryf deur semi-geletterd idioot (nie dat ek, natuurlik, de). Skerp ons was 2 kritiese foute in die kode wat lei tot die beëindiging van die script op'n paar random oomblik, weer oligofrenski weglatings op my deel. Algehele die skrif was nie baie maklik om te oorweeg om dit te doen as'n volk, wat is busybox en die as is nie die maklikste dinge in toom te hou. Hierdie keer het ek kan groot rant kode te red en direk om te verduidelik wat veranderlikes vir wat dit is en wat behandelings kan gedoen word met dit (nuwe) 🙂

SERVER="192.168.100.1"
 STANDALONE="FALSE" #using like stand alone app no server side depends ; )
 HCAM1="" ## if starting like stand alone app give me CAM namezzz if HCAM1 is empty its means chanel is free
 HCAM2="" ## CAM2 name
 PORT="666" # port rockzzz : D : )))))))))))))))))
 IP=$(ifconfig eth0 | grep inet | awk '{print $2}' | sed -e '[email protected]:@@')
 FILE='/tmp/debug'
 INFO='/tmp/info_file'
 NC=$(which nc)
 WGET=$(which wget)
 MAX_DAYS="10"
 TIMEOUT="600"
 MAX=70 #max cpu usage per process
DEBUGING="TRUE" #if u wanna script send debug information set DEBUGING to TRUE if SEVERLESS is set to true this var will be skiped
 NEWDBGSTYLE="TRUE" #debuging new style sending info to apache derectly, old style using nc

So natuurlik Veranderlikes name nog genoeg spreek vanself en ek bedoel die geleentheid slim woord.

Standalone Dit is een van die belangrikste veranderlikes as uiteindelik tot WAAR sal nie oproepe na die bediener maak en nie meer nodig, afhangende van die bediener as jy dit gebruik jy om waardes op die volgende plaas HCAM1 (Ek weet nie hoekom ek hom genoem dat, so ek doen nie onthou nie, maar maak nie saak). Indien nie stoinost in dit, en van die script sluit in'n aparte script is veronderstel om saam te werk op'n ongeënkripteerde kanaal, en nie kyk op decrypters module, as daar is'n toets vir'n gegewe stoinost. HCAM2 is opsioneel as jou module gebruik slegs 1 proses, sê byvoorbeeld CCcam.

DEBUGING die tweede interessante veranderlike is jy prloe inligting of bly stil hang af van watter waarde jy is vas. Auotmation is in'n stil, debug as Standalone dit is WAAR

NEWDBGSTYLE 'n vermorsing van'n belangrike veranderlike. Dit bepaal hoe sal oorgedra word na die bediener log. As dit WAAR is, sal die nuwe geen ongeag van toolbar. As, egter, is die ou metode van om VALSE. Meestal is dit dinge wat nodig het om te fokus, maar ek dink, ten spyte van die drastiese veranderinge sal bly deursigtige idee standaard 🙂

Beslis, ek is baie tevrede met hoe dinge het – die script is buigsaam genoeg otdyha idiotice gebaseer op'n bykomende lêer vir funksies en en reeds otpda en volgens nc ek dink, of die behoefte vir die bediener, en dus nie almal het 30+ boks-'n dat, is en bediener, of dit kan net'n paar domage router. Nog steeds het om te verbeter, maar nou kan ek onthou van die takvia dinge, want maak nie saak 🙂

Die lêers is gewoonlik gids а крипта за въвеждане на логовете може да свалите от hier

И по случай добрия скрипт едно ускорено парче за всички ускорители 😀

Versterk deur Zemanta

Byna'n jaar het ek het nie my werk democheto NUKA. Vandag het ek tyd gehad om dinge te doen, want daar is baie dinge wat nie baie goed nie. Ek het bygevoeg'n paar nuwe funksies. Prepareda kode, meer funksies, so is verminder en die hersiening het meer gerieflik vir die gebruiker.

Die belangrikste nuwe funksionaliteit van wat ek was sein trap-en. Op'n sekere oomblik wat jy draai op die ontvanger dreambox demoon besluit om hom dood te maak en sodoende stop die proses van monitering my, dit op sigself is'n baie slegte oomblik. Nie hoe om uit te vind wat gaan aan, as die plek vir tydskrifte is volstrekt lae, en jy het om dit te doen komplekse stelsel met'n netwerk van hulpbronne, wat nie my geval. Breedweg in lyn sein trap-a het'n mooi eiendom van die bash skrifte te onderskep seine van uitsette, of diegene wat gedien het om hulle uit die kern-met behulp van'n slag sê 😉 en, dus, kan ons verhoed dat sommige onmiddellik daaropvolgende gebeure. Sal net byvoeg dat SIGKIL of moord -9 kan nie wees om te onderskep en te verhoed dat, so ontwerp -. Dit eindig sy PID direk. Nou is die relevante kode

#trapping signals I know -9 dosent work but we try it just in case ; )
trap on_exit 0 14 1 2 9 13 15 6 8 4 3 11 5
on_exit () {
make_debug 10 #unexpected error
#reboot now if we hawe trapped signal
reboot -d 0
exit 0
}

Ons eerste lyn verklaar watter stappe om te neem en wat sal wees privashare meer seine mense seine 😉 In hierdie geval, ek stel belang. Soos gesien kan word, lei tot'n eenvoudige funktsiya maak ontfouting boodskap en begin die ontvanger. Ongetwyfeld middagete, wat sal lei tot die resultate wat ek verwag, want ek dink enigiets wat verhoed dat die moord dood te maak -9 maar niks verhoed om te probeer.

Die ander groot kenmerk veranderinge, die meeste dinge wat herhaal word uit die wetboek van hul allysah veral, dit was'n bietjie onaangenaam om te kyk, nie, nou de 😉 ek het'n lig drama met'n terugkeer na die bash-en – Ek sit die terugkeer verklaring in een funksie en verwag gedrag soos al die ander bekende programmeertale, maar dit blyk dat die terugkeer verklaring opbrengste net heelgetal waardes en is die maksimum 2 😀 en ek wou my om terug te keer string. Daar was'n lelike svinshtina. Die oplossing is eenvoudig

#---cuted---

if [ $T -eq $N ]
 then
 echo "Cam is down! Reboot..."
make_debug 4 # cam is down
 else
echo $rcam
 fi

# ---cuted----

#finding real cam1
 rcam1=$(find_cam $cam1)

Първата част е края на функцията ми и чрез echo изплювам резултата. Взимането му е елементарно с последния ред в горния пасаж.

Hmm ek dink, dit is'n interessante stuk van die kode.

Ek wil dankie inspirasie 😉

http://www.youtube.com/watch?v=SilMJ0O13UI&funksie=verwante

Beter- Uiteindelik kon ek werk te volbring op die script skryf ek soveel tyd reeds 🙂 NUKA dit een redelik stabiel script. beklemtoon 1 omdat die verwydering van die ekstra script ek dit gebou in die hoof. Dit was 'n monolitiese struktuur gekry, maar persoonlik dink ek dit is beter vir 'n demoon weergawe 🙂 Reeds verbeterings is nie baie, eerder is fixes op 'n paar klein foute en pogings om kode te verbeter. Die enigste tasbare ding wat ek het 'n tjek vir uptime-en Ontvanger bygevoeg. Het dit opgerig vir almal 10 dae om homself weer te begin maak.

As ons terugkyk, my aanvanklike idee vir 'n script wat eenvoudig ontvangers wat sluchava hulle dink te monitor, dat ek besef gelukkig goeie idee baie keer. Die enigste fout wat ek hoop om 'n vermy 10 daaglikse herlaai is – Daar is oomblikke waarin die ontvanger begin om weer te begin, maar versuim. Killing mees werkswinkels insluitend netwerk maar neuspyava bereik herlaai. Ongelukkig weens die beperkings wat deur my bokse beperkings nemozhyah te doen, is die kern weer te begin en dus ontsnap en nou. Miskien eendag in die toekoms sal my beeld saam te stel vir die bokse en dus in staat om te gaan met hierdie probleem. Vir nou nadyavma my besluit om glans oor 🙂 Anders alles baie goed ontvang duur, selfs baie beter as my oorspronklike idee. veral sedert, Hernoem dit in so 'n metamorfose. Grootste deel gebly karretjie web interfeisa, dus voortgaan nie 😆 gee sodra sit om hierdie dae te herskryf sal hom kry gratis verbruik. finale woorde – in plaas van uitstel net ek wil al my vriende bedank, dat my dom vrae oor hierdie en dat verduur – Jy het 'n belangrike bydrae in deizaina kode. Verdien waardering en man wat my projek is vernoem en het gedien as inspirasie vir baie oomblikke van talentless skryf 🙂 … Dame verdien dit!

Vandag het ek het'n bietjie meer nuwe gedigte NUKA. Uiteindelik dokuro draai dit, en ek wil graag kort reguit voor vrygestel van die jongste stabiel, waarskynlik die finale weergawe. Skyfies, ek het die idee om te kyk hoe baie dae het die gladde werking van die ontvanger, dat die meeste van my probleme te doen nadat hy genoeg tyd, Ek het besluit om te doen in 10 dae profilactice weer te begin. Haastig Scrabble conveince, waar ek was skoongemaak dae van die res, want die uitkoms veranderlikes otkomandata spandeer op die site is baie onaangenaam om te werk

# uptime
12:13:57 up 30 days, 20:07,  1 user,  load average: 0.00, 0.00, 0.00

So het die lyn in vraag is gefiltreer net Superski oorgedra 😛

uptime | awk -F'up' '{ print $2 }' | awk -F'days' '{ print $1 }'

Asof werksure is dae resultaat is 'n heelgetal in dae, en indien uur UITKOMSTE is soortgelyk aan

[email protected]:~$ uptime | awk -F'up' '{ print $2 }' | awk -F'days' '{ print $1 }'
1:34,  5 users,  load average: 0.46, 0.39, 0.41
[email protected]:~$

Omdat dit deur tjek van die tipe van waarde

if echo $days | grep "^[0-9]*$" > /tmp/null
then
   echo "Uptime in days is $days"
else
  echo "Uptime isnt in days"
fi

Net maklik en duidelik in if-ontwerp en te verifieer dat stoisnota net nommers met gewone uitdrukking grep bevat “↑ (en)[0-9]*$”.

Eee geleef het om dit te eet NUKA 1.0 🙂 Waarom die weergawe 0.6 Ek het opgespring op 1.0 jy vra my, wel baie eenvoudig – ons het reeds een 100% NUKA al die vereistes, met'n paar uitsonderings Cotto sal fixna in die toekoms, en meer belangrik in die huidige weergawe geïmplementeer heeltemal anders. Ek gaan terug na my ou idee van die duiwel en met'n bietjie van die verhoor en fout, hierdie dinge net al gewerk perfek. Met die bediener aansoek is joune om te geniet in die geheel, behalwe vir'n kort php script wat trek die inligting NUKA-hy 🙂

Reeds bereik byna al met NUKA, waar meer? Wel, Ko, ek het om eerlik te wees altyd, miskien meer, byvoorbeeld, om te dink, maak die installasie van die skrif sê om iets te doen so maklik en verstaanbaar, selfs vir'n nie linux gebruiker, alles gebeur met die maksimum- minder probleme vir gebruikers. Maar al die tyd. Tans NUKA onder ander dinge, ek dobavil module wat monitors die bediener verbinding, as jy verdwyn weer begin. Tans is ek nog nie seker geïnstalleer het as dit werk hihihihihi 😆 Abe, as'n reël, hoewel dit is waar, daar is iets te wense of'n vars idee van sommige van die een na al die hoof kan nie dink hoe 2-3-4 of meer, selfs my 😈

ps Weer, selfs onder die kode naam. Ek glo dat ek reeds'n baie stewige Fondasie vir alles wat ek besluit om in die toekoms te doen met my script