From cb4f1c0a6811263d14451920e808585c3f5abce7 Mon Sep 17 00:00:00 2001 From: "ladislav.dusa" Date: Wed, 27 Nov 2024 12:19:10 +0100 Subject: [PATCH] conf added --- omv_backups_v3.py | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/omv_backups_v3.py b/omv_backups_v3.py index e528a1a..118f42e 100644 --- a/omv_backups_v3.py +++ b/omv_backups_v3.py @@ -25,19 +25,21 @@ mqtt_username = 'jaydee' mqtt_password = 'jaydee1' try: - opts, args = getopt.getopt(sys.argv[1:], "am", ["command=", "help", "output="]) + opts, args = getopt.getopt(sys.argv[1:], "amf", ["command=", "help", "output="]) except getopt.GetoptError as err: #usage() sys.exit(2) output = None # QJ : getopts _MODE = "manual" +_FIRST = False for o, a in opts: if o == "-a": _MODE = "auto" elif o in ("-m", "--manual"): _MODE = "manual" - + elif o in ("-f", "--first"): + _FIRST = True client = mqtt_client.Client() client.username_pw_set(mqtt_username, mqtt_password) @@ -96,7 +98,10 @@ for b in backups[host]: BACKUP_DIR = f"/backup/{host}/{b}" NEW_BACKUP_DIR = f"{BACKUP_DEVICE}/backup/{host}/{b}" DATETIME = now.strftime("%Y-%m-%d_%H-%M-%S") - BACKUP_PATH="{}/{}".format(BACKUP_DIR, DATETIME) + 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}/{b}/latest" @@ -104,7 +109,7 @@ for b in backups[host]: msg = {"status":"started","bak_name":b,"start_time":DATETIME,"end_time":"in progress", "progress":0} client.connect(broker,1883,60) - client.publish(topic, json.dumps(msg)); + client.publish(topic, json.dumps(msg)) client.disconnect() cmnd = "ssh root@omv.home.lan 'mkdir -p " + NEW_BACKUP_DIR + "'" @@ -116,7 +121,6 @@ for b in backups[host]: #cmnd = "rsync -av --delete {}/ --link-dest {} --exclude=\".cache\" {}".format(SOURCE_DIR, LATEST_LINK, BACKUP_PATH) - cmnd = f"rsync -avz --delete {SOURCE_DIR} --link-dest {LATEST_LINK} --exclude=\"gitlab/logs/prometheus\" --exclude=\"home-assistant.log\" --exclude=\"gitlab/logs/*\" --exclude=\"esphome/config/.esphome\" --exclude=\".cache\" --exclude=\".git\" --exclude=\"var_lib_motioneye\" rsync://{BACKUP_HOST}{BACKUP_PATH}" # rsync --info=progress2 -avz --delete /share/docker_data/ --link-dest /m-server/docker_data/latest --exclude="gitlab/data/" --exclude="esphome/config/.esphome" --exclude="gitlab/logs/prometheus" --exclude=".cache" --exclude=".git" --exclude="var_lib_motioneye" /m-server/m-server/docker_data/newone1 @@ -129,8 +133,10 @@ for b in backups[host]: print(cmnd) # input("????") status, output = subprocess.getstatusoutput(cmnd) - - cmnd = f"ssh root@omv.home.lan 'cd {NEW_BACKUP_DIR}; ln -s {DATETIME} latest'" + if _FIRST: + cmnd = f"ssh root@omv.home.lan 'cd {NEW_BACKUP_DIR}; ln -s initial latest'" + else: + cmnd = f"ssh root@omv.home.lan 'cd {NEW_BACKUP_DIR}; ln -s {DATETIME} latest'" print(cmnd) # input("????") status, output = subprocess.getstatusoutput(cmnd)