Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

IP pingen ?

Frage Entwicklung Batch & Shell

Mitglied: 80851

80851 (Level 1)

21.07.2009, aktualisiert 17.08.2009, 6191 Aufrufe, 8 Kommentare

Hallo zusammen,

leider finde ich keine Lösung für mein Problem.

Mein Problem ist das ich keine Ahnung von Batch-Dateien habe und gerne Grundlagen oder ein schönes wiki gefunden hätte.
So bin ich bei euch gelandet, für Tipps oder Hinweise die mich zur Lösung führen könnten wäre ich sehr dankbar.

Problem,
Ich möchte eine Batch als Dienst im Hintergrund alle 10 Minuten lassen.
Die Batch soll folgendes tun,

Ich möchte einen Solar-Wechselrichter anpingen und bei Bedarf den eigenen Rechner Neustarten um ein Ausleseprogramm neustarten zu können.


Ping => Ziel-IP
IF Ziel-IP erreichbar UND Merker "nicht gesetzt"
Goto ENDE
Das Skript soll nichts tuen wenn erreichbar

ELSE
{
IF Merker "nicht gesetzt"
setze Merker

ELSE Merker "gesetzt" UND Ziel-IP erreichbar
Starte den Rechner neu
Nur wenn der Merker gesetzt wurde und die IP wieder erreichbar soll der Rechner wieder gestartet werden

}


So stell ich mir die Funktionsweiße vor, könnt ihr mir helfen bzw. Tipps und/oder Denkanstösse geben ?

Vorab vielen Dank !
Mitglied: SchoSeb
21.07.2009 um 20:30 Uhr
Hallo mike,

ich darf also zusammenfassen:
Alle x Minuten Ping....
sollte ein Durchlauf nich erfolgreich gewesen sein, aber einer der folgenden schon sollt der PC neugestartet werden.

Was passiert wenn der Ping gar nicht mehr erfolgreich sein sollte?
Warum willst du den ganzen PC neustarten und nicht nur dieses Ausleseprogramm?
Ach ja, sprechen wir von einem Windows oder Linux Rechner?

MfG Sebastian
Bitte warten ..
Mitglied: 80851
21.07.2009 um 21:57 Uhr
Hallo,

ja wir sprechen von win2k (einer virtuellen Maschine auf einem Server).....wenn möglich würde auch ein Programmneustart reichen.

Der Wechselrichter ist über das Netzwerk errreichbar (pingbar und vom Herstellerprogrammauslesbar)....trennt sich aber Nachts vom Stromnetz, und ist somit nicht anpingbar. Das Programm erkennt leider nicht wenn es läuft, dass der Wechselrichter wieder erreichbar ist....erst nach einem Programmneustart....wird die Verbindung erneut aufgebaut.

Problem ist...nicht wenn der WS nicht mehr Erreichbar ist, einen Neustart durchführen (sonst würde der Rechner die ganze Nacht neustarten), sondern wenn er nach dem nicht erreichen wieder erreichbar wird......wenn du verstehst was ich meine ?
Bitte warten ..
Mitglied: 60730
21.07.2009 um 23:48 Uhr
Servus,

so pi * daumen wird es ungefähr so laufen:

01.
:start 
02.
ping 127.0.0.1 | find "TTL" && goto start  ||  taskkill /F /IM "Notepad.exe" && goto offline 
03.
 
04.
:offline 
05.
ping 127.0.0.1 | find "TTL" && start "Analyse" Notepad.exe  ||  goto start 
06.
goto start
wobei
01.
rem sprungmarke :start  
02.
rem ping den eigenen Rechner (zum Test - dort die IP des Ziels eintragen) | finde ob es antwortet und gehe zu start  || setze den Marker bzw. kicke das Auswerteprogramm um so den Marker zu setzen (oder nicht noch einen Marker nutzen zu müssen) " && gehe zu offline (das erstwieder verlassen wird - wenn status online) 
03.
 
04.
:offline 
05.
rem ping den eigenen Rechner (zum Test - dort die IP des Ziels eintragen) | finde ob es antwortet und && start "überschrift" auswertungsprogramm.exe   ||  gehe zum start 
06.
rem damit die "Schleife" auch wieder weiter geht wenn nach offline wieder online ist - gehe zum start
Daraus kannst du dir sicherlich noch die ein oder andere Verbesserung selber zusammenstricken - jeder der Befehle hat einen Parameter /? - der die die "echten" parameter zeigt.

Gruß
Bitte warten ..
Mitglied: SchoSeb
22.07.2009 um 00:02 Uhr
Also ich hoffe ich werde von den Batch Gurus nicht gleich verprügelt, aber hier meine (verspätete) Lösung
Ist nur so zusammengebastelt und ich bin natürlich über jede Verbesserung dankbar.

edit
OK , 6 Zeilen im Vergleich zu 35 würd ich schon als Verbessereung Bezeichnen

01.
@echo off 
02.
set /a merker = 0 
03.
 
04.
:test 
05.
 
06.
set /a ping_success = 0 
07.
 
08.
ping -n 1 "IP des WS" 
09.
set /a ping_success = %ERRORLEVEL% + %merker% 
10.
if %ping_success% == 0 (goto wait) 
11.
 
12.
:: Merker=1 und Ziel nicht erreichbar 
13.
if %ping_success% == 2 (goto wait) 
14.
 
15.
:: Wenn die oberen Bedingungen nicht erfüllt werden... 
16.
if %merker% == 0 (goto set_merker) 
17.
 
18.
if %merker% == 1 (goto restart) 
19.
 
20.
goto test 
21.
 
22.
:set_merker 
23.
set /a merker = 1 
24.
goto wait 
25.
 
26.
:wait 
27.
ping -n 60 localhost 
28.
goto test 
29.
 
30.
::Anwendung beenden und neu starten 
31.
:restart 
32.
tskill "programname aus dem taskmanager ohne .EXE" 
33.
start C:\Pfad_zum_Programm\programm.exe 
34.
set /a merker = 0 
35.
goto test
Das wait ist natürlich nur ne Bastellösung(hier ca 60 Sekunden Wartezeit) Du kannst dir ja die wait.exe laden und das ganze damit lösen.
Grundsätzlich sollte das ganze jedoch funktionieren

MfG Sebastian
Bitte warten ..
Mitglied: 80851
22.07.2009 um 22:29 Uhr
Vielen Dank für eure rasant schnellen Antworten,

Ich habe das ganze mit 2 vm´s nachgestellt, das ganze geht soweit auch ganz gut.....
01.
:start  
02.
ping 192.168.237.128 | find "TTL" && goto start || taskkill 
03.
taskkill /F /IM "javaw.exe" && goto offline  
04.
 
05.
:offline  
06.
ping 192.168.237.128 | find "TTL" && start  
07.
"Analyse" "MaxTalk 1.7.9.exe"  ||  goto start 
08.
goto start
Das Auswerteprogramm ist in java geschrieben deswegen beende ich die javaw.exe
Die Batch erkennt wenn die Ziel IP-Offline ist und killt den Task.....aber wenn das Ziel wieder erreichbar ist start er das Auswerteprogramm "MaxTalk" nicht mehr........
.....liegt es an meiner Syntax =?
Müsste doch eigentlich gehen ?

Gruß

mikebelo

P.S. Der nächsten Lösungsvariante werde ich mich jetzt widmen......
Bitte warten ..
Mitglied: 80851
22.07.2009 um 23:31 Uhr
Habe mich mittlerweile für die 1. Variante entschieden,
01.
:start  
02.
ping 192.168.88.128 | find "TTL" && goto start || taskkill 
03.
taskkill /F /IM "javaw.exe" && goto offline  
04.
 
05.
:offline  
06.
ping 192.168.88.128 | find "TTL" && start "Analyse" C:\Programme\solarmax\maxtalk_179\MaxTalk 1.7.9.exe || 
07.
||  goto start 
08.
goto start
geht eigentlich.....nur noch ein Haken hat die Sache.......siehe die DOS-Ausgabe.....
01.
Microsoft Windows XP [Version 5.1.2600] 
02.
(C) Copyright 1985-2001 Microsoft Corp. 
03.
 
04.
C:\Dokumente und Einstellungen\mischl>cd Desktop 
05.
 
06.
C:\Dokumente und Einstellungen\mischl\Desktop>nummer1.bat 
07.
 
08.
C:\Dokumente und Einstellungen\mischl\Desktop>ping 192.168.88.128   | find "TTL" 
09.
   && goto start   || taskkill 
10.
Antwort von 192.168.88.128: Bytes=32 Zeit=2ms TTL=64 
11.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
12.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
13.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
14.
 
15.
C:\Dokumente und Einstellungen\mischl\Desktop>ping 192.168.88.128   | find "TTL" 
16.
   && goto start   || taskkill 
17.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
18.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
19.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
20.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
21.
 
22.
C:\Dokumente und Einstellungen\mischl\Desktop>ping 192.168.88.128   | find "TTL" 
23.
   && goto start   || taskkill 
24.
Antwort von 192.168.88.128: Bytes=32 Zeit<1ms TTL=64 
25.
 
26.
C:\Dokumente und Einstellungen\mischl\Desktop>ping 192.168.88.128   | find "TTL" 
27.
   && goto start   || taskkill 
28.
FEHLER: Ungültige Syntax. /FI, /PID oder /IM wurde nicht angegeben. 
29.
Geben Sie "TASKKILL.EXE/-?" ein, um die Syntax anzuzeigen. 
30.
 
31.
C:\Dokumente und Einstellungen\mischl\Desktop>taskkill /F /IM "javaw.exe"   && g 
32.
oto offline 
33.
ERFOLGREICH: Der Prozess "javaw.exe" mit PID 2200 wurde beendet. 
34.
Syntaxfehler. 
35.
 
36.
C:\Dokumente und Einstellungen\mischl\Desktop>ping 192.168.88.128 | find "TTL" & 
37.
& start "Analyse" C:\Programme\solarmax\maxtalk_179\MaxTalk 1.7.9.exe || 
38.
 
39.
C:\Dokumente und Einstellungen\mischl\Desktop
Wenn ich nicht innerhalb < 1min den WS (also die IP) wieder aktiviere beendet die Batch ihren Dienst.....wenn ich die IP innerhalb < 1min wieder freigebe....startet die Batch automatisch das MaxTalk und MaxTalk beginnt dann wieder mit der Auslesung.

Könnt ihr mir nochmal den letzten und entscheidenden Hinweis geben ???
Bitte warten ..
Mitglied: 60730
23.07.2009 um 09:19 Uhr
Servus,

Könnt ihr mir nochmal den letzten und entscheidenden Hinweis geben ???

ändere die erste Variante bitte nur - indem du die zu pingende IP und das zu beendende/zu startende Programm editierst.

Du hast da noch ein wenig anderes verändert - und deswegen mags nicht ;-(

01.
:start 
02.
ping 192.168.88.128 | find "TTL" && goto start  ||  taskkill /F /IM "javaw.exe" && goto offline 
03.
 
04.
:offline 
05.
ping 192.168.88.128 | find "TTL" && start "Analyse" "C:\Programme\solarmax\maxtalk_179\MaxTalk 1.7.9.exe"  ||  goto start 
06.
goto start
Die Ausgabe:

28. FEHLER: Ungültige Syntax. /FI, /PID oder /IM wurde nicht angegeben.
29. Geben Sie "TASKKILL.EXE/-?" ein, um die Syntax anzuzeigen.

kommt von
02. ping 192.168.88.128 | find "TTL" && goto start || taskkill


Gruß
Bitte warten ..
Mitglied: 80851
26.07.2009 um 13:00 Uhr
Habsch gemacht und es geht wunderbar....ich muss platt ausgedrückt sagen, du bist ne geile Typ !!

Vielen Dank !

Danke auch an alle anderen die mir so schnell weitergeholfen haben !!

Danke Danke Dank!

Vielleicht kann ich euch oder jemand anders bei Gelegenheit auch weiterhelfen !

Gruß
mikeobelo
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
IP-Einstellungen werden falsch angezeigt (4)

Frage von schlumpf90 zum Thema Windows Server ...

Firewall
gelöst Site-to-Site-VPN und Cisco VPN-Client von gleicher IP (2)

Frage von TripleDouble zum Thema Firewall ...

Erkennung und -Abwehr
Backdoor in IP-Kameras von Sony (5)

Link von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Netzwerke
LAN und WLAN je mit gleicher IP (13)

Frage von dauatitsbest zum Thema Netzwerke ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...