Dedies-Board (https://www.dedies-board.de/wbb2/index.php)
- Software (https://www.dedies-board.de/wbb2/board.php?boardid=15)
-- Windows 2000 / XP (https://www.dedies-board.de/wbb2/board.php?boardid=19)
--- IP Adresse des Providers täglich protokolieren? (https://www.dedies-board.de/wbb2/thread.php?threadid=2287)


Geschrieben von madball am 15.06.2008 um 14:50:

  IP Adresse des Providers täglich protokolieren?

Hallo zusammen!

Ich möchte mir eine batch bauen, die täglich die IP-Adresse meines Providers protokolliert!

Wie bringe ich die Automation in die Datei herein?

Anforderung
- Alle 4 Std Datei erzeugen
- Speicherung in IP_[date][Uhrzeit].txt
- Automatisches Laden z.B AUTOSTART hinzufügen
- Speicherung der Datei an einem "benannten Ort"


Mit dem Script funktioniert es eigentlich auch schon, nur ohne die o.a Anforderungen

Zitat:
nslookup xxxxx.dyndns.org >>ip.txt
echo %username% %date:~0% %time% >>ip.txt



Kann jemand helfen bitte

LG
MAD



Geschrieben von Vimes am 15.06.2008 um 19:22:

 

Hä? Kannst Du bitte sagen, welche Anforderungen genau nicht erfüllt werden? Und unter welchem OS das ganze passieren soll? Und vor allem - wozu?

Zur Beweissicherung taugt ein solches Log jedenfalls nicht, da keine Fälschungssicherheit gegeben ist.

MfG
Vimes



Geschrieben von madball am 15.06.2008 um 20:22:

 

Hm Steht doch alles dort Vimes! Augen rollen

So wird die Datei auf dem Desktop abgelegt, ich würde gerne den Pfad angeben wollen und weiss nicht wie ...

in den AUtostart soll se mit rein und alle ca. 4 Std. den log schreiben


Und der Thread ist in Windows Xp gepostet großes Grinsen

Vorschläge?



Geschrieben von Vimes am 15.06.2008 um 20:34:

 

Zitat:
Original von madball
Hm Steht doch alles dort


Meinste.

Zitat:
So wird die Datei auf dem Desktop abgelegt, ich würde gerne den Pfad angeben wollen und weiss nicht wie ...


Und warum schreibst Du das nicht gleich dazu?

Zitat:
in den AUtostart soll se mit rein und alle ca. 4 Std. den log schreiben


Erledige das über den Taskplaner. Dazu ist er da ...

Zitat:
Und der Thread ist in Windows Xp gepostet großes Grinsen


Touche. großes Grinsen

Du wechselst per Skript zuerst in den Ordner, in dem die Datei gespeichert werden soll. Das komplette Skript sieht dann so aus:

cd C:\Dokumente und Einstellungen\Testuser\Eigene Dateien
nslookup xxxxx.dyndns.org >>ip.txt
echo %username% %date:~0% %time% >>ip.txt

ip.txt wird dann dort erzeugt (beim ersten Schreiben) bzw. ergänzt.

Das ganze als Skript-Datei abspeichern und eben in den Taskplaner stopfen ...

Wie der funktioniert, verrät Dir die Windows-Hilfe, ich erledige so was über cronjobs großes Grinsen

MfG
Vimes



Geschrieben von Haui am 15.06.2008 um 23:03:

 

Zitat:
Alle 4 Std Datei erzeugen
Automatisches Laden z.B AUTOSTART hinzufügen

siehe Vimes Petzauge

Zitat:
Speicherung in IP_[date][Uhrzeit].txt
Speicherung der Datei an einem "benannten Ort"

Wenn ich das richtig verstanden habe, dann willst du für jeden Aufruf eine extra Datei anlegen? Das ginge z.B. so:
code:
1:
2:
set pfad="C:\"
nslookup XXXX.dyndns.org >> %pfad%IP_%date%-%time:~0,2%-%time:~3,2%-%time:~6,2%.txt
(das umständliche Konstrukt entfernt die Doppelpunkte aus der Uhrzeit, da das in Windows ungültige Zeichen für Dateinamen sind....

Wenn du jedoch nur das Datum und die Uhrzeit in immer die gleiche Datei schreiben willst, dass schau dir auch hierfür das Posting von Vimes an.



Geschrieben von madball am 17.06.2008 um 17:06:

 

@Haui & and Mr.VImes

habe eure Antorten umgesetzt und es steht jetzt so in der batch:

echo off
cd C:\Dokumente und Einstellungen\USER\Eigene Dateien\IP_LOGS_start 17.06.2008
set cd C:\Dokumente und Einstellungen\USER\Eigene Dateien\IP_LOGS_start 17.06.2008
nslookup XXXX.dyndns.org >> %pfad%IP_%date%-%time:~0,2%-%time:~3,2%-%time:~6,2%.txt

Das mit dem Taskmanager [€DIT: Taskplaner] scheint auch zu funktionieren!!?

Das mit der User Protokollierung habe ich heraus geschmissen, weil er mir immer eine weitere IP.txt Datei erzeugt hat und ich diese generell gar nicht benötige! Gibt eh nur einen USER

[Dateianhang entfernt]

....

gerne feedback

€dit 2: Hier scheint irgendwas nicht zu stimmen, mein DND-Server läuft und ist syncron!!

Was da los jetzt?? Augen rollen



Geschrieben von Vimes am 21.06.2008 um 23:49:

 

Kann nicht stimmen. Dein DynDNS ist demnach nicht synchron.

MfG
Vimes



Geschrieben von madball am 23.06.2008 um 18:40:

 

Demnach ist meine IP auf dem DNS sync.
Nur nicht auf meinem Router?! Mein FTP läuft, wenn er an ist und diesen habe ich im Router eingetragen - hat immer funktioniert!?

€dit: Okay, funktioniert, habe mir bei dyndns einen neuen account gefertigt - funzt - DANKE

[Dateianhang entfernt]



Geschrieben von madball am 06.10.2008 um 00:14:

 

Mit dem Befehl kann das Script morgens nicht autom. abgespeichert werden!! Siehe Anhang (attachment red marked)
Okay, die Endung .txt man. dabei und das Problem ist erledigt und ausführbar! Vielleicht hat einer ne Lösung parat auf die Schnelle

Ich habe nun über den TaskManager das Script alle 3 Stunden eine autom. Logfile erstellen lassen . [PERFEKT soweit]

Nun eine weitere Idee, wäre es möglich, dass die batch-Datei erst anfängt die IP zu loggen, wenn zb. ein Programm "X" als Prozess gestartet- oder bereits am laufen ist???



Geschrieben von Vimes am 06.10.2008 um 19:03:

 

Klar, die batch fragt als erstes, ob das Programm läuft und schreibt die Datei nur, wenn dem so ist. Du kannst es dann über den Taskplaner laufen lassen. Wenn es darauf ankommt, daß die batch dann zuschlägt, wenn das Programm an den Start geht, dann mußt Du die batch im Hintergrund laufen und regelmäßig die Abfrage machen lassen. Hmja. Oder Du guckst nach, ob der Taskplaner so was kann, was ich bezweifle.

Eine google-Suche verrät mir hier "pslist" als Programm der Wahl. Ich würde ja ps -C $Programmname verwenden großes Grinsen

Ansonsten ist das eine simple if-Abfrage. Wie man allerdings den output von pslist auf der Windows-Shell abfängt und abfragt, damit bin ich überfragt.

MfG
Vimes



Geschrieben von Haui am 06.10.2008 um 22:02:

 

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
pslist meinprozessname
if errorlevel 1 goto error
echo funktioniert
REM befehl hier rein
exit

:error
echo error
exit

Sollte prinzipiell das erledigen was du willst. Benötigt pslist von hier.

Wenn du das Ganze übrigens noch weiter ausbauen willst, so würde ich doch irgendwann mal Abstand von "Batch" nehmen und stattdessen was ordentliches einsetzen. Petzauge