Good to Know Database

Verfügbarkeit eines Remote Systems mit Python prüfen


Das folgende Python Script überprüft mit Hilfe eines Pings (ICMP Echo Request) ob ein bestimmter Rechner im Netzwerk verfügbar ist.

Für das folgende Python-Skript erstellen Sie mit einem Editor die Datei pingcheck.py.

georg@ubuntu1404:~$ vi pingcheck.py

Fügen Sie in diese Datei den folgenden Python-Code ein und speichern die Datei ab.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

#
# Creation:    19.11.2016
# Last Update: 19.11.2016
#
# Copyright (c) 2016 by Georg Kainzbauer <http://www.gtkdb.de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#

# import required modules
import os
import sys

# main function
def main():
  # check syntax and print usage
  if len(sys.argv) != 2 or sys.argv[1] == '-h' or sys.argv[1] == '--help':
    print("Usage:\n\tpingcheck.py <ip-address or hostname>\n")
    print("(c) 2016 by Georg Kainzbauer <http://www.gtkdb.de>\n")
    sys.exit(1)

  # extract remote address from argument
  address = sys.argv[1]

  # check if the remote system is available
  response = os.system("ping -c 1 " + address + ">/dev/null 2>&1")
  if response == 0:
    print("Remote system '" + address + "' is available")

    # quit python script with return code 0
    sys.exit(0)
  else:
    print("No connection to the remote system '" + address + "'")

    # quit python script with return code 1
    sys.exit(1)

if __name__ == '__main__':
  main()

Nachdem Sie Das Python-Skript erstellt haben, ändern Sie die Rechte der Datei.

georg@ubuntu1404:~$ chmod 0755 pingcheck.py

Jetzt können Sie mit dem folgenden Befehl überprüfen ob zum Beispiel das entferntes System nas.home.lan erreichbar ist.

georg@ubuntu1404:~$ ./pingcheck.py nas.home.lan
Remote system 'nas.home.lan' is available


Dieser Eintrag wurde am 20.11.2016 erstellt.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_31_2855.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer