Skip to content

Commit d46a610

Browse files
author
Marco Gantenbein
committed
[IMP] Add additional backup formats
1 parent 7d6e4f0 commit d46a610

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

backup.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ def get_env_or_default(key, converter, default=None):
6060
MASTER_PWD = get_env('ODOO_MASTER_PWD')
6161
NAME = get_env('ODOO_DB_NAME')
6262
FORMAT = get_env_or_default('ODOO_BACKUP_FORMAT', converter=str, default="zip").lower()
63+
ALLOWED_FORMATS = ['zip', 'dump', 'tar', 'tar.gz', 'tar.bz2', 'tar.xz', 'tar.zst']
6364
BACKUP_TIME = get_env_or_default('BACKUP_TIME', converter=str, default="02:00")
6465
BACKUP_EVERY_HOUR = get_env_or_default('BACKUP_EVERY_HOUR', converter=int)
6566
HOURLY_BACKUP_KEEP = get_env_or_default('HOURLY_BACKUP_KEEP', converter=int, default=4)
@@ -219,15 +220,15 @@ def backup():
219220
backup_file_path = None
220221

221222
try:
222-
if (URL and MASTER_PWD and NAME and FORMAT.lower() in ["zip", "dump"] and
223+
if (URL and MASTER_PWD and NAME and FORMAT.lower() in ALLOWED_FORMATS and
223224
SFTP_HOST and SFTP_USER and SFTP_PASSWORD):
224225
common = xmlrpc.client.ServerProxy(urljoin(URL, "/xmlrpc/2/common"))
225226
version = common.version()
226227
logger.info(f'*** Starting backup process for odoo {version["server_serie"]} '
227228
f'with database "{NAME}" on "{URL}" ***')
228229
handler = SFTPHandler()
229230
now = datetime.now(tz=TZ)
230-
backup_file_name = f"odoo{version['server_serie']}-{NAME}-{now.strftime('%Y%m%d-%H%M%S')}.{FORMAT.lower()}"
231+
backup_file_name = f"odoo{version['server_serie']}-{NAME}-{now.strftime('%Y%m%d-%H%M%S')}.{FORMAT}"
231232
backup_file_path = os.path.join(
232233
'./backups', backup_file_name
233234
)
@@ -355,7 +356,7 @@ def _backup_help():
355356
SFTP_PASSWORD, sFTP Server Password
356357
357358
***Optional Environment variables***
358-
ODOO_BACKUP_FORMAT, Backup format zip or dump, default=zip
359+
ODOO_BACKUP_FORMAT, Backup format zip, dump or tar (additional module), default=zip
359360
BACKUP_TIME, Start time for Backup or time which daily backup should be preserved, default="02:00"
360361
BACKUP_EVERY_HOUR, Set hours between the backups if hourly backup should be done, default=None
361362
DAILY_BACKUP_KEEP, Set count of daily backups to keep, default=30

0 commit comments

Comments
 (0)