import mysql.connector import subprocess import csv from datetime import datetime import socket import adcontroller_export import exchange_export import smtp_export import rds_export def get_local_ip(): try: # Socket erstellen, um die lokale IP-Adresse zu ermitteln s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(("8.8.8.8", 80)) # Eine temporäre Verbindung zu einem externen Server herstellen # Die lokale IP-Adresse aus den Socketeigenschaften abrufen local_ip = s.getsockname()[0] # Den Socket schließen s.close() return local_ip except Exception as e: print(f"Fehler beim Abrufen der lokalen IP-Adresse: {e}") return None # Funktion aufrufen und die lokale IP-Adresse des Hosts erhalten def adcontroller(ip,name): adcontroller_export.adcontroller(ip,name) def exchange(ip,name): exchange_export.exchange(ip,name) def smtp(ip,name,token): smtp_export.smtp(ip,name,token) def rds(ip, name): rds_export.rds(ip,name) def cms(ip, servername): ## Import User als RAW print("" + ip + servername) def mstore(ip, servername): ## Import User(last Check) als RAW print("" + ip + servername) def cloud(ip,servername): ## Import User(space) als RAW print("" + ip + servername) def vpn(ip,servername): ## Import Online Time als RAW print("" + ip + servername) def nginx(ip,servername): ## Import Letsencrypt Time als RAW print("" + ip + servername) def zammad(ip,servername): ## Import Tickets Time als RAW print("" + ip + servername) def data(ip,servername): ## Import Space Used als RAW print("" + ip + servername) def omada(ip,servername): ## Import Access als RAW print("" + ip + servername) def matomo(ip,servername): ## Import Statics als RAW print("" + ip + servername) def gucamole(ip,servername): ## Import User + Maschinen als RAW print("" + ip + servername) # Verbindung zur Datenbank herstellen mydb = mysql.connector.connect( host="172.17.1.21", user="root", password="N53yBCswuawzBzS445VNAhWVMs3N59Gb9szEsrzXRBzarDqpdETpQeyt5v5CGe", database="Stines-GmbH" ) cursor = mydb.cursor() print(get_local_ip()) query = "SELECT * FROM `Stines-GmbH`.`Kunden-Server` WHERE `IP-Adresse` = %s" cursor.execute(query, (get_local_ip(),)) results = cursor.fetchall() # Ergebnisse durchlaufen und ausgeben for row in results: name = row[1] ipadress = row[3] lastchange = row[5] funktion = row[6] token = row[7] cursor.execute("SHOW DATABASES") # Überprüfen, ob die Datenbank bereits existiert database_exists = False for (db_name,) in cursor: if db_name == name: database_exists = True break # Datenbank erstellen, wenn sie noch nicht existiert if not database_exists: create_database_query = f"CREATE DATABASE {name}" cursor.execute(create_database_query) print(f"Die Datenbank '{name}' wurde erfolgreich erstellt.") else: print(f"Die Datenbank '{name}' existiert bereits.") try: if token is not None: eval(funktion + '("' + ipadress + '","' + name + '","' + token + '")') else: eval(funktion + '("' + ipadress + '","' + name + '")') except NameError: print("Die Funktion existiert nicht.") # Verbindung schließen mydb.close()