ich beschäftige mich seit kurzem mit Python und schreibe gerade an einem Script. Dieser verbindet sich via FTP mit verschiedenen Servern und löscht leere Ordner mit einem bestimmten Anfang.
Dank Hilfe aus dem Forum konnte ich das Ding zum laufen bringen und dies sieht aktuell so aus:
Code: Alles auswählen
# Importiere Libs
from ftplib import FTP
import time
#Variablen fuer Verbindung
user = 'abb'
password = '007'
targetdir = '/'
searchdef = 'BCK'
errorpassed = '0'
#Lese IP und Namen aus Hostliste ein
with open("hostlist.txt") as input_raw:
input = [s for s in input_raw if s.startswith('192')]
hostlist = [line.strip() for line in input]
input_raw.close()
print('Gefundene hosts: ', hostlist)
#Login auf Server
for host in hostlist:
try:
print("Verbinde zu IP", host)
ftp = FTP(host)
ftp.login(user, password)
ftp.cwd(targetdir)
#Werte Daten nach Beginn BCK aus
units = ftp.nlst()
units = [s for s in units if s.startswith('BCK')]
numbers_bck = len(units)
print("Anzahl gefundene Backups:", len(units))
#Loesche gefundene Backups
for dirname in units:
try:
ftp.rmd(dirname)
print ("Loesche Backup", dirname)
except Exception:
#Fehlerbehandlung
error = ('Verzeichnis nicht leer: ' + dirname + ' auf IP ' + host)
print(error)
errortime = time.strftime("%d.%m.%Y / %H:%M:%S")
text_file = open("errorlog.txt", "a")
text_file.write((errortime + '\n' + error) + '\n')
text_file.close()
errorpassed = 1
except Exception:
error = ('Server ' + host + ' nicht erreichbar')
print(error)
errortime = time.strftime("%d.%m.%Y / %H:%M:%S")
text_file = open("errorlog.txt", "a")
text_file.write((errortime + '\n' + error) + '\n')
text_file.close()
errorpassed = 1
ftp.quit()
if errorpassed == 1:
print('Es sind Fehler aufgetreten, bitte Log pruefen!')
Code: Alles auswählen
errortime = time.strftime("%d.%m.%Y / %H:%M:%S")
text_file = open("errorlog.txt", "a")
text_file.write((errortime + '\n' + error) + '\n')
text_file.close()
Code: Alles auswählen
def errorhandling():
errortime = time.strftime("%d.%m.%Y / %H:%M:%S")
text_file = open("errorlog.txt", "a")
text_file.write((errortime + '\n' + error) + '\n')
text_file.close()