www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

PING -> log kako najenostavneje?

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14675
Aktiv.: 61.82
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jul 12, 2005 9:43 pm    Naslov sporočila:  PING -> log kako najenostavneje? Odgovori s citatom

Sem sicer iz DOS-ovih časov, malo obujam spomine a mi ne gre najbolje Sad .

Želim napisati paketno datoteko, ki bi jo pognjal z windowsovim razporejevalnikom opravil. Želim, da mi izvede ping na računalniku na drugi lokaciji. Imam namreč VPN povezavo, ki včasih pade. Želel bi, da se mi rezultat pribeleži v datoteko, prav tako bi želel, da se pribeleži ura. Tukaj pa nastane problem Sad .

Če ukaz "time" preusmerim v datoteko:
Koda:
 time > pinglog.txt

le ta čaka na potdritev. Obstaja sploh varinata pošiljanja kode tipke s paketne.
Drug problem je kako v naslednjem koraku dodati v isto datoteko?
Koda:
ping 192.168.1.1 >pinglog.txt

Tole bo namreč prepisalo prejšno datoteko.

Vse skupaj mi sicer ni problem napisati recimo v Clipperju katerega dobro poznam a še raje bi, če bi šlo s paketne.

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6736
Aktiv.: 28.38
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Tor Jul 12, 2005 9:59 pm    Naslov sporočila: icon_impressed  Odgovori s citatom

Tole je enostavno Wink

Koda:
@echo off
time >> aa.log < nul
ping -n 1 192.168.2.1 >> aa.log


Lp, Frenki

p.s. Za izvajanje iz "urejevalnika opravil" Sad boš moral napisat še celo pot do programov in izhodnih datek.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
fbifbi
Član
Član



Pridružen-a: Pon 05 Jul 2004 12:17
Prispevkov: 129
Aktiv.: 0.54
Kraj: ljubljana

PrispevekObjavljeno: Tor Jul 12, 2005 10:24 pm    Naslov sporočila:   Odgovori s citatom

Silvo je napisal:
Citiram:
Obstaja sploh varinata pošiljanja kode tipke s paketne.


Obstaja parameter /y.
Samo za čas je ukaz time /t.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14675
Aktiv.: 61.82
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Tor Jul 12, 2005 10:57 pm    Naslov sporočila:   Odgovori s citatom

Hvala za odgovore.
V tem času sem oživel Clipper in napisal preprost programčič.

Koda:
*////////////////////////////////////////
* program kreira ob zagonu log datoteko
* v katero pribele§i cas ter rezultat
* pinga. Ip prejme kot parameter
* ćtraser Silvo
*///////////////////////////////////////
parameters IP
   if    empty(IP)
      cls
      @1,1 Say 'Kot parameter vpiçi IP'
      @2,1 Say 'Primer pinglog 192.168.1.1'
      @3,1 Say '(c)Silvo www.elektronik.si'
      quit

   endif
cls
?'Trenutek...'

hr_cr=chr(13)+chr(10)
set date german
set scoreboard off
pping='ping '+IP+' > pingtmp.txt'

!&pping

cas='cas '+time()+' datum ' +dtoc(date())+hr_cr

public p_log:=''
 
   for x=4 to 8
   p_log=p_log+alltrim(memoline(memoread('pingtmp.txt'),,x))+hr_cr
   next   

memowrit('pinglog.txt',memoread('pinglog.txt')+cas+p_log)
cls
@1,1 say 'Rezultat je zapisan v datoteki "pinglog.tmp"'
@2,1 say '(c) www.elektronik.si'
@3,1 say '' 



Pinglog.zip
 Opis:

Download
 Ime datoteke:  Pinglog.zip
 Velikost datoteke:  78.94 KB
 Downloadano:  4 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
frenki
Moderator
Moderator



Pridružen-a: Ned 23 Feb 2003 21:26
Prispevkov: 6736
Aktiv.: 28.38
Kraj: Ljubljana (JN76GB)

PrispevekObjavljeno: Sre Jul 13, 2005 12:14 am    Naslov sporočila:   Odgovori s citatom

Tale varianta z memoread/memowrite se mi ne zdi najboljša. Stvar bo povsem uporabna, če se log datoteka ne bo preveč napihnila - mislim, da se težave začno pri 64K Confused . Univerzalna rešitev v primeru uporabe clipperja je fopen(), f...(), fclose(). No, sam bi za omenjeno nalogo uporabil nekaj takšnega, kot je predlagano zgoraj.

Lp, Frenki
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo Obišči avtorjevo spletno stran
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14675
Aktiv.: 61.82
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Jul 13, 2005 7:19 pm    Naslov sporočila:   Odgovori s citatom

Res Frenki niz je omejen na 64k. Omenjene funkcije sem uporabil namerno - z njima je šlo najenostavneje, pa tudi ne potrebujem zelo velike log datoteke. (za en dan nazaj je čisto dovolj) Je pa tudi res, da bi program "crknil" ko bi datoteka presegla dovoljeno dolžino niza.
Ker s Clipperjem nisem delal že vrjetno kakih 5 let, sem obujanju spominov "dobil veselje" Wink Popravil sem zgoraj omenjenega "hrošča" tako, da se iz datoteke brišejo prvi vnosi, ko le ta preseže 60k. Dodan je še "preglejevalnik" log datoteke.
V prilogi exe file.



Koda:

*////////////////////////////////////////
* program kreira ob zagonu log datoteko
* v katero pribele§i cas ter rezultat
* pinga. Ip prejme kot parameter
* ćtraser Silvo
*///////////////////////////////////////
parameters IP
hr_cr=chr(13)+chr(10)
set date german
set scoreboard off

do case

   case    empty(IP) =.t.
      cls
      @1,1 Say 'Kot parameter vpisi IP'
      @2,1 Say 'Primer pinglog 192.168.1.1'
      @3,1 say 'pinglog /p prikaze log datoteko'
      @4,1 say 'pinglog /b briçe log datoteko'

      @6,1 Say '(c)Silvo www.elektronik.si'
      quit
   case upper(IP) =="/P"
      log_prikaz()
      quit

   case upper(IP) =="/B"
      cls
      m_izbira:={"Da","Ne"}
      izbira=alert('Brisanje log datoteke?',m_izbira)

      do case
         case izbira=1
            delete file "pinglog.txt"
            quit
         otherwise
         cls
         quit
      endcase

   otherwise
   pinganje()
   quit
endcase

procedure pinganje()
cls
?'Trenutek preverjam povezavo...'

pping='ping '+IP+' > pingtmp.txt'

!&pping

cas='cas '+time()+' datum ' +dtoc(date())+hr_cr

public p_log:=''
 
   for x=4 to 8
   p_log=p_log+alltrim(memoline(memoread('pingtmp.txt'),,x))+hr_cr
   next   
starLog=memoread('pinglog.txt')
starLog=if(len(starLog)>60000,right(starLog,60000),starLog)

memowrit('pinglog.txt',starLog+cas+p_log)
cls
*@1,1 say 'Rezultat je zapisan v datoteki "pinglog.tmp"'
*@2,1 say '(c) www.elektronik.si'
*@3,1 say ''

return 
procedure log_prikaz()
cls
@0,60 say 'ESC - izhod' color 'r/n'
@1,0 say replicate("-",80)
@23,0 say replicate("-",80)
@24,2 say 'PGUP/PGDOWN - premikanje' color 'w+/n'

memoedit(memoread("pinglog.txt"),2,0,22,79,.f.)
cls
return



Pinglog.zip
 Opis:

Download
 Ime datoteke:  Pinglog.zip
 Velikost datoteke:  86.01 KB
 Downloadano:  3 krat


_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Silvo
Moderator
Moderator



Pridružen-a: Pon 24 Feb 2003 17:09
Prispevkov: 14675
Aktiv.: 61.82
Kraj: Koroška-okolica Dravograda

PrispevekObjavljeno: Sre Jul 13, 2005 9:25 pm    Naslov sporočila: icon_impressed  Odgovori s citatom

frenki je napisal/a:
Tole je enostavno Wink

Koda:
@echo off
time >> aa.log < nul
ping -n 1 192.168.2.1 >> aa.log


Lp, Frenki

p.s. Za izvajanje iz "urejevalnika opravil" Sad boš moral napisat še celo pot do programov in izhodnih datek.


Frenki probal sem tole v paketni. Stvar ne deluje kot je treba. Napisano se je zazankalo. Ko sem paketno na silo prekinil je bila že ustvarjena ena ogromna aa.txt datoteka.
Vprašanje: kaj je "nul" ? Potrebno definirati kako sistemsko spremenjivko? (set)

_________________
lp
Silvo
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
fbifbi
Član
Član



Pridružen-a: Pon 05 Jul 2004 12:17
Prispevkov: 129
Aktiv.: 0.54
Kraj: ljubljana

PrispevekObjavljeno: Pet Jul 15, 2005 9:54 am    Naslov sporočila:   Odgovori s citatom

Čudno sam sem poizkusl stvar v praksi in deluje samo sem dodal nekatere dodatke:
Koda:
@echo off
time /t >> log.txt <nul /y
ping xxx.xxx.xxx.xxx >> log.txt /y
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo MSN Messenger - naslov
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programska oprema Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 4 dni


Powered by phpBB © 2001, 2005 phpBB Group