 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14675 Aktiv.: 61.82 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Jul 12, 2005 9:43 pm Naslov sporočila: PING -> log kako najenostavneje? |
|
|
Sem sicer iz DOS-ovih časov, malo obujam spomine a mi ne gre najbolje .
Ž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 .
Če ukaz "time" preusmerim v datoteko:
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 |
|
 |
frenki Moderator



Pridružen-a: Ned 23 Feb 2003 21:26 Prispevkov: 6736 Aktiv.: 28.38 Kraj: Ljubljana (JN76GB)
|
Objavljeno: Tor Jul 12, 2005 9:59 pm Naslov sporočila: |
|
|
Tole je enostavno
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" boš moral napisat še celo pot do programov in izhodnih datek.
|
|
Nazaj na vrh |
|
 |
fbifbi Član

Pridružen-a: Pon 05 Jul 2004 12:17 Prispevkov: 129 Aktiv.: 0.54 Kraj: ljubljana
|
Objavljeno: Tor Jul 12, 2005 10:24 pm Naslov sporočila: |
|
|
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 |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14675 Aktiv.: 61.82 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Tor Jul 12, 2005 10:57 pm Naslov sporočila: |
|
|
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 '' |
Opis: |
|
 Download |
Ime datoteke: |
Pinglog.zip |
Velikost datoteke: |
78.94 KB |
Downloadano: |
4 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
frenki Moderator



Pridružen-a: Ned 23 Feb 2003 21:26 Prispevkov: 6736 Aktiv.: 28.38 Kraj: Ljubljana (JN76GB)
|
Objavljeno: Sre Jul 13, 2005 12:14 am Naslov sporočila: |
|
|
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 . 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 |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14675 Aktiv.: 61.82 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Jul 13, 2005 7:19 pm Naslov sporočila: |
|
|
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" 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 |
Opis: |
|
 Download |
Ime datoteke: |
Pinglog.zip |
Velikost datoteke: |
86.01 KB |
Downloadano: |
3 krat |
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14675 Aktiv.: 61.82 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Sre Jul 13, 2005 9:25 pm Naslov sporočila: |
|
|
frenki je napisal/a: |
Tole je enostavno
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" 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 |
|
 |
fbifbi Član

Pridružen-a: Pon 05 Jul 2004 12:17 Prispevkov: 129 Aktiv.: 0.54 Kraj: ljubljana
|
Objavljeno: Pet Jul 15, 2005 9:54 am Naslov sporočila: |
|
|
Č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 |
|
 |
|
|
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
|