#!/bin/python3
import os
import shutil
import subprocess
import time
import gc
print("Bereinige buffer memory")
gc.collect()
print("Haenge Mountpunkte ein...")
subprocess.Popen('mount -a', shell=True)
print("Warte 2 Sekunden...")
time.sleep(2)
source="/mnt/source/"
dest="/mnt/dest/"
print("Pruefe ob Inhaltsverzeichnis (daily.vbm) veraltet:")
if os.path.exists(source+"daily.vbm") == True:
if os.path.exists(dest+"daily.vbm") == True:
if os.path.getmtime(source+"daily.vbm") == os.path.getmtime(dest+"daily.vbm"):
print("Inhaltsverzeichnis hat gleichen Stand, keine Aktion")
else:
print("Neueres Inhaltsverzeichnis gefunden. Kopiere Datei fuer Inhaltsverzeichnis... Quelle: "+source+"daily.vbm Ziel: "+dest+"daily.vbm")
shutil.copy2(source+"daily.vbm", dest+"daily.vbm")
else:
print("Inhaltsverzeichnis in Ziel nicht vorhanden. Kopiere Datei fuer Inhaltsverzeichnis... Quelle: "+source+"daily.vbm Ziel: "+dest+"daily.vbm")
shutil.copy2(source+"daily.vbm", dest+"daily.vbm")
else:
print("Inhaltsverzeichnis nicht gefunden.")
print("Lese Ziel-Verzeichnisinhalt...")
files2=os.listdir(dest)
print("Sortiere Ziel-Verzeichnisliste...")
files2.sort(reverse=True)
print("Lese Qell-Verzeichnisinhalt...")
files=os.listdir(source)
print("Sortiere Quell-Verzeichnisliste...")
files.sort(reverse=True)
print("-------------")
for element in files:
print("Aktuelle Datei: " + element)
extension=element[-4]+element[-3]+element[-2]+element[-1]
print("Dateiendung: "+extension)
if extension == ".vib":
if os.path.exists(dest+element):
print("Datei existiert, keine Aktion")
else:
print("Kopiere "+element+"...")
shutil.copy(source+element, dest+element)
if extension == ".vbk":
if os.path.exists(dest+element):
print("Datei existiert, pruefe Dateigroesse...")
if(os.path.getsize(dest+element) == os.path.getsize(source+element)):
print("Datei hat gleiche groesse: Keine Aktion")
last_vbk=element
print("Beende Dateibearbeitung...")
break
else:
print("Dateigroessen unterschiedliche, kopiere " +element+"...")
shutil.copy(source+element, dest+element)
last_vbk=element
print("Beende Dateibearbeitung...")
break
else:
print("Kopiere "+element+"...")
shutil.copy(source+element, dest+element)
last_vbk=element
print("Beende Dateibearbeitung...")
break
print("-----------")
print("Starte Bereinigung")
loesch_kz=0
for element2 in files2:
print("Aktuelle Datei: " + element2)
extension2=element2[-4]+element2[-3]+element2[-2]+element2[-1]
print("Dateiendung "+extension2)
if loesch_kz == 1 and extension2 != ".vbm":
print("Datei veraltet, loesche...")
os.remove(dest+element2)
elif extension2 == ".vbm":
print("VBM-Dateien werden nicht geloescht!")
else:
print("Dateibackup aktuell")
if element2 == last_vbk:
print("Aktuelleste VBK ermittelt!")
loesch_kz=1
print("Haenge Mountpunkt aus...")