Ping in eine Logdatei

Hallo

Diese Mail habe ich eben erhalten:

kannst du einen Datenbankping vom FFM01 nach FFM10
einrichten und die Daten mitloggen ?

also auf gut deutsch, die hätten gerne ein ping -t nur halt mit tnsping

ich weiß zwar nicht was das bringen soll, aber was ich wissen muß ist, wie schreibt man das in eine logdatei ?

ich hab es schon mit >C:\Temp\tns.txt versucht, aber dann habe ich da nur genau einen eintrag drin, egal wie oft es gelaufen ist…

Grüße

Chris

anhang
noch als info,

da es für den tnsping (oracle) keine Parameter gibt, so wie bei ping -t
habe ich 2 bat- Dateien die sich immer gegenseitig aufrufen…

Hallo Chris!

also auf gut deutsch, die hätten gerne ein ping -t nur halt
mit tnsping

tnsping HAT übrigens Parameter:
Syntax: tnsping []
Du kannst also zumindest eine Anzahl von Versuchen angeben. Sowas wie -t beim ping gibt’s allerdings wirklich nicht…

ich hab es schon mit >C:\Temp\tns.txt versucht, aber dann
habe ich da nur genau einen eintrag drin, egal wie oft es
gelaufen ist…

Weil die Umleitung per „>“ die Datei immer überschreibend öffnet. Append geht mit „>>“.

Gruß,
Martin

Hallo Martin,

na, du bist auch überall, oder ? :smile:

ich hab´s wie folgt gelöst:

3 Batchdateien.

die erste (tns.bat) ruft die 2. auf : C:\temp\tns1.bat >C:\temp\tnsping.txt

die 2. :
tnsping dbname

C:\temp\tns2.bat

die 3.
tnsping dbname

C:\temp\tns1.bat

somit habe ich eine logdatei, und im sekundentakt wird gepingt…

im grunde bringt das zwar nix, aber was der kunde will das kriegt er auch… :wink:

grüße

chris

na, du bist auch überall, oder ? :smile:

Nöööö, nur in ca. 25 Brettern (hier) :wink:

Meine Lösung (mit nur einem Batch) wäre die hier:

@echo off
SET TNSPNG\_SERVER=%1
SET TNSPNG\_OUTFILE=%2
SET TNSPNG\_COUNT=%3
IF "%TNSPNG\_SERVER%"=="" goto :USAGE
IF "%TNSPNG\_OUTFILE%"=="" SET TNSPNG\_OUTFILE=tns.log
IF "%TNSPNG\_COUNT%"=="" SET TNSPNG\_COUNT=100
echo Running test for %TNSPNG\_SERVER% \> %TNSPNG\_OUTFILE%
echo Running test for server %TNSPNG\_SERVER%
echo Log is stored in %TNSPNG\_OUTFILE%
echo Hit CTRL-C to abort
[DOPPELPUNKT]TNSLOOP
tnsping %TNSPNG\_SERVER% %TNSPNG\_COUNT% \>\>%TNSPNG\_OUTFILE% 2\>&1
if errorlevel 9009 goto :ERROR\_NF
goto :TNSLOOP
[DOPPELPUNKT]ERROR\_NF
echo Error: tnsping not found
goto :END
[DOPPELPUNKT]USAGE
echo Syntax: %0 ^ [^] [^]
echo Hier evtl. Parameter beschreiben
goto :END
[DOPPELPUNKT]END
SET TNSPNG\_SERVER=
SET TNSPNG\_OUTFILE=
SET TNSPNG\_COUNT=
pause

[DOPPELPUNKT] muss durch „:“ ersetzt werden (sonst glaubt die Forumssoftware hier nämlich ich würde zitieren wollen…
Das mit dem Errorlevel 9009 (DOS-Fehler unbekannter Befehl) funktioniert vermutlich nicht in älteren DOS Versionen, unter XP Prof. geht’s jedenfalls.

Gruß,
Martin

Hi Martin,

schaut toll aus :smile:

nur leider sind mein DOS- Kenntnisse genauso schlecht wie mein Oracle-Wissen…
Nur mal so, vor 4 1/2 Jahren bin ich noch als Betriebselektriker in einem Kohlekraftwerk rumgerannt, ich habe erst seit sept. 99 einen Rechner zuhause stehen.

Danke dir trotzdem :wink:

Grüße

Chris