diff --git a/README.md b/README.md index 4b448e0..593a6f8 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,7 @@ You can set some envs vars: - DB_NAME - database to back up, default is postgres - TIME_ZONE - timezone for datetime using in filenames, default is Europe/Tallinn - COMPRESSION_LEVEL - level of LZMA compression, default is 7 +- PREFIX - prefix for backup filename, default is empty Also, please define settings for S3 storage: - AWS_S3_REGION_NAME - default nl-ams diff --git a/start.py b/start.py index 1bb3f1f..e00cf9d 100644 --- a/start.py +++ b/start.py @@ -14,6 +14,7 @@ You can set some envs vars: - DB_NAME - database to back up, default is postgres - TIME_ZONE - timezone for datetime using in filenames, default is Europe/Tallinn - COMPRESSION_LEVEL - level of LZMA compression, default is 7 +- PREFIX - prefix for backup filename, default is empty Settings for S3 storage: - AWS_S3_REGION_NAME - default nl-ams @@ -43,6 +44,7 @@ DB_HOST = os.getenv("DB_HOST", "localhost") DB_PORT = os.getenv("DB_PORT", "5432") DB_NAME = os.getenv("DB_NAME", "postgres") TIME_ZONE = pytz.timezone(os.getenv("TIME_ZONE", "Europe/Tallinn")) +PREFIX = os.getenv("PREFIX", "") AWS_S3_REGION_NAME = os.getenv("AWS_S3_REGION_NAME", "nl-ams") AWS_S3_ENDPOINT_URL = os.getenv("AWS_S3_ENDPOINT_URL", "https://s3.nl-ams.scw.cloud") AWS_ACCESS_KEY_ID = os.getenv("AWS_ACCESS_KEY_ID") @@ -126,7 +128,10 @@ def run_backup_database() -> None: """ scheduled_time = datetime.now(tz=TIME_ZONE).strftime("%y%m%d-%H%M") filename = f"{DB_NAME}-{scheduled_time}.sql" + if PREFIX: + filename = f"{PREFIX}-{filename}" sql_file_path = f"/tmp/{filename}" + backup_success = backup_db_from_postgres(file_path=sql_file_path) if not backup_success: print("Backup failed")