❗️Toto je původní verze internetového fóra ISPforum.cz do února 2020 bez možnosti registrace nových uživatelů. Aktivní verzi fóra naleznete na adrese https://telekomunikace.cz

SQ výpis script - divné chování

Návody a problémy s konfigurací.
knapek
Příspěvky: 21
Registrován: 17 years ago

SQ výpis script - divné chování

Příspěvekod knapek » 12 years ago

Zdravím a prosím zkušené o rady.
Na cca 6 AP mám tento script. Na 4 běží dle předpokladu - pošle mi mailem přenesená data klientů.
Na jednom AP mi to ale do mailu vypíše 2x a na dalším dokonce asi 6x.

Kód: Vybrat vše

:local name [/system identity get name];
:local telo
:log info "Starting Data_Sum Script..."
:set telo ("Suma prenesenych dat za klienty Download / Upload [MB]" . "\n")
/queue simple
:foreach i in=[find] do={
  :local totalcurrent ([get $i bytes])
  :local pos5 [:find $totalcurrent "/"]
  :local pos6 [:len $totalcurrent]
  :local bytesupcurrent ([:pick $totalcurrent 0 ($pos5)])
  :local bytesdowncurrent ([:pick $totalcurrent ($pos5+1) $pos6])
  :local megsupcurrent ($bytesupcurrent / 1048576)
  :local megsdowncurrent ($bytesdowncurrent / 1048576)
      :set telo ($telo . [get $i name] . " - " . [get $i target-addresses] )
      :set telo ($telo . ": " . $megsdowncurrent . " / " . $megsupcurrent . "\n" )
   }

/tool e-mail send to="knapek@mmsw.cz" subject=($name . " - Data_Sum_Compact") body=$telo


Výpis v e-mailu pak vypadá asi takto:
Suma prenesenych dat za klienty Download / Upload [MB]
p2p - : 0 / 0
User1 - 192.168.203.214/32: 0 / 0
User2 - 192.168.206.46/32: 0 / 0
...
,Suma prenesenych dat za klienty Download / Upload [MB]
p2p - : 0 / 0
User1 - 192.168.203.214/32: 0 / 0
User2 - 192.168.206.46/32: 0 / 0
...


Na konci požadovaného výpisu se objeví čárka a znova se výpis zopakuje.
ROS verze 5.21, RB 333, 433, 600, 800

Moc děkuji, neb jsem v koncích
Mirek
0 x

mirek.k
Příspěvky: 796
Registrován: 17 years ago

Příspěvekod mirek.k » 12 years ago

Tak dlouho nikdo neodpověděl, takže jsem se pustil do pátrání sám.

Zjistil jsem, že toto chování způsobuje více IP adres v jedné SQ (to je u klientů s veřejnou IP adresou).
Dotaz v cyklu pak vrátí více položek, což je pochopitelné.
Méně pochopitelné je chování, kdy dojde ne k zdvojení položky, ale celeho výpisu.

U SQ, kde je jedna IP adresa se řádek opakuje, u těch s více IP se v dalším opakování vypisují další adresy.

S takovým chováním cyklu FOR jsem se ještě v žádném jazyku nesetkal (a už něco pamatuju :D ).

Zdravím
Mirek
0 x