From aad54ca5ca21db142604137dab757b50804e56a4 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 4 Apr 2024 15:13:53 -0900 Subject: [PATCH] Committing the script. --- config-backup.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 config-backup.py diff --git a/config-backup.py b/config-backup.py new file mode 100644 index 0000000..766fe7f --- /dev/null +++ b/config-backup.py @@ -0,0 +1,47 @@ +import subprocess +from pathlib import Path +import shutil +import os +import datetime + +now = datetime.datetime.now() +CONFIGPATHS = [ + ("100","nextcloud","/srv/nextcloud/config"), + ("105","authdocker","/root"), + ("107","homeautomation","/root"), + ("109","immich-vfs","/root"), +] +def main(): + for lxc in CONFIGPATHS: + print(lxc) + newdir = Path(f"{lxc[0]}-{lxc[1]}{lxc[2].replace('/','.')}") + try: + newdir.mkdir() + except FileExistsError as e: + pass + finally: + configpath = f"/main/subvol-{lxc[0]}-disk-0{lxc[2]}/" + try: + shutil.copytree(configpath, newdir, dirs_exist_ok=True, + ignore=__ignore_dirs) + except: + pass + finally: + pass + + subprocess.run(["git","checkout","-b","200-19"]) + subprocess.run(["git","add","."]) + subprocess.run(["git","commit","-m",f"Backup for {now}"]) + subprocess.run(["git","push","-u","origin","200-19"]) + +def __ignore_dirs(path, names): + dirs = [".git", ".local", ".cache"] + ignoredirs = [] + for file in os.listdir(path): + if file in dirs: + ignoredirs.append(file) + return tuple(ignoredirs) + +if __name__ == "__main__": + main() +