2
This commit is contained in:
@@ -0,0 +1,131 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user