From e34484d5966b4c2b675b51fb25e9aa8a7b4c3224 Mon Sep 17 00:00:00 2001 From: "Luca Sorace \"Stranck" Date: Wed, 26 Jun 2024 14:17:17 +0200 Subject: [PATCH] Update runBackup.py --- stuff/runBackup.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/stuff/runBackup.py b/stuff/runBackup.py index 740a1b3..ca515e0 100644 --- a/stuff/runBackup.py +++ b/stuff/runBackup.py @@ -1,21 +1,28 @@ #!/usr/bin/python -from os import listdir, remove +from os import listdir, remove, getenv from os.path import isfile, join import datetime import subprocess PRETIX_BACKUP = False WEBINT_BACKUP = False +WP_BACKUP = False +STUFF_BACKUP = False BACKUP_DIR_PRETIX = "/home/pretix/backups/" BACKUP_DIR_WEBINT = "/home/webint/backups/" +BACKUP_DIR_WP = "/home/worcopio/backups/" +BACKUP_DIR_STUFF = "/root/backups/" -MAX_FILE_NO = 14 +MAX_FILE_NO = 7 COMMAND_PRETIX_POSTGRES = "pg_dump -F p pretix | gzip > %s" # Restore with psql -f %s -COMMAND_PRETIX_DATA = "tar -cf %s /var/pretix-data" # Restore with tar -xvf %s. To make .secret readable I used setfacl -m u:pretix:r /var/pretix-data/.secret -COMMAND_WEBINT = "tar -cf %s /home/webint/furizon_webint" # Restore with tar -xvf %s +COMMAND_PRETIX_DATA = "tar -czf %s /var/pretix-data" # Restore with tar -xvf %s. To make .secret readable I used setfacl -m u:pretix:r /var/pretix-data/.secret +COMMAND_WEBINT = "tar -czf %s /home/webint/furizon_webint" # Restore with tar -xvf %s +COMMAND_WP_MYSQL = "mysqldump -h 127.0.0.1 -P 5688 -u root --password=__PASSWORD__ --all-databases | gzip > %s" # Restore with zcat %s | mysql -h 127.0.0.1 -P 5688 -u root +COMMAND_WP_DATA = "tar -czf %s /var/lib/docker/volumes/worcopio-docker_wordpress/_data" # Restore with tar -xvf %s +COMMAND_STUFF = "tar -czf %s /etc/ /var/backups/ /var/log/ /var/mail/ /var/pretix-data/ /var/prometheus-data/ /var/spool/ /var/www/ /var/lib/grafana/ /var/lib/redis/" # Restore with tar -xvf %s def deleteOlder(path : str, prefix : str, postfix : str): @@ -41,4 +48,19 @@ if(PRETIX_BACKUP): runBackup("pretix_data", "backup.tar.gz", join(BACKUP_DIR_PRETIX, "data"), COMMAND_PRETIX_DATA) if(WEBINT_BACKUP): - runBackup("webint_full", "backup.tar.gz", BACKUP_DIR_WEBINT, COMMAND_WEBINT) \ No newline at end of file + runBackup("webint_full", "backup.tar.gz", BACKUP_DIR_WEBINT, COMMAND_WEBINT) + +if(WP_BACKUP): + mysqlCmd = COMMAND_WP_MYSQL + mysqlPwd = getenv("MYSQL_PWD") + if(mysqlPwd != None and mysqlPwd.strip() != ""): + mysqlPwd = mysqlPwd.strip() + print(f"Running with password `{mysqlPwd}`") + mysqlCmd = mysqlCmd.replace("__PASSWORD__", mysqlPwd) + runBackup("wp_mysql", "backup.sql.gz", join(BACKUP_DIR_WP, "mysql"), mysqlCmd) + else: + print("Backup run without the $MYSQL_PWD env var set. Skipping wp_mysql backup") + runBackup("wp_wp", "backup.tar.gz", join(BACKUP_DIR_WP, "wp"), COMMAND_WP_DATA) + +if(STUFF_BACKUP): + runBackup("stuff", "backup.tar.gz", BACKUP_DIR_STUFF, COMMAND_STUFF)