This commit is contained in:
2025-01-14 08:19:01 +01:00
parent 1aa7ba205f
commit a1d5cb0b73

View File

@ -49,7 +49,7 @@ mqtt_username = 'jaydee'
mqtt_password = 'jaydee1'
print("1")
try:
opts, args = getopt.getopt(sys.argv[1:], "amftdr:b", ["command=", "help", "output="])
opts, args = getopt.getopt(sys.argv[1:], "amftDr:bd:", ["command=", "help", "output="])
except getopt.GetoptError as err:
#usage()
sys.exit(2)
@ -58,6 +58,7 @@ output = None
_MODE = "manual"
_FIRST = _TEST = _RESTORE = _BACKUP = False
_EXECUTE = True
_DATE = "pick"
for o, a in opts:
if o == "-a":
_MODE = "auto"
@ -65,6 +66,8 @@ for o, a in opts:
_MODE = "manual"
elif o in ("-f", "--first"):
_FIRST = True
elif o in ("-d", "--date"):
_DATE = a
elif o in ("-t", "--test"):
_TEST = True
elif o in ("-r", "--restore"):
@ -73,7 +76,7 @@ for o, a in opts:
print("RESTORE")
elif o in ("-b", "--backup"):
_BACKUP = True
elif o in ("-d", "--dry"):
elif o in ("-D", "--dry"):
_EXECUTE = False
print("2")
@ -159,23 +162,39 @@ if _RESTORE:
client.disconnect()
now = datetime.datetime.now()
DATETIME = now.strftime("%Y-%m-%d_%H-%M-%S")
BACKUP_HOST = f"jd@{host}"
BACKUP_HOST = f"jd@omv.home.lan"
BACKUP_DEVICE = "/srv/dev-disk-by-uuid-2f843500-95b6-43b0-bea1-9b67032989b8"
BACKUP_DIR = f"/backup/{host}"
if _DATE == "pick":
cmnd = "ssh root@omv.home.lan 'du --max-depth=1 /srv/dev-disk-by-uuid-2f843500-95b6-43b0-bea1-9b67032989b8/backup/m-server/docker_data'"
status, output = subprocess.getstatusoutput(cmnd)
#print(output)
dates = output.splitlines()
n = 1
for i in dates:
s = i.split()
print(f"{n} - {s[1]} / {s[0]}" )
n += 1
ans = input("Pick a backup to restore : ")
d = dates[int(ans) - 1]
_DATE = d.split()[1]
if app == "fail2ban":
print("?>?????")
NEW_BACKUP_DIR = f"/backup/m-server/fail2ban/latest/"
NEW_BACKUP_DIR = f"/backup/m-server/fail2ban/{_DATE}/"
SOURCE_DIR = f"/etc/fail2ban"
else:
NEW_BACKUP_DIR = f"/backup/m-server/docker_data/latest/{app}"
NEW_BACKUP_DIR = f"/backup/m-server/docker_data/{_DATE}/{app}"
SOURCE_DIR = f"/share/docker_data/"
if _FIRST:
BACKUP_PATH="{}/initial".format(BACKUP_DIR)
else:
BACKUP_PATH="{}/{}".format(BACKUP_DIR, DATETIME)
LATEST_LINK="{}/latest".format(BACKUP_DIR)
FULL_BACKUP_LATEST = f"{NEW_BACKUP_DIR}/latest"
LATEST_LINK = f"/{host}/{app}/latest"
LATEST_LINK="{}/{}".format(BACKUP_DIR,_DATE)
FULL_BACKUP_LATEST = f"{NEW_BACKUP_DIR}/{_DATE}"
LATEST_LINK = f"/{host}/{app}/{_DATE}"
msg = {"status":"started","bak_name":app,"start_time":DATETIME,"end_time":"in progress", "progress":0}