@@ -60,6 +60,7 @@ def get_env_or_default(key, converter, default=None):
6060MASTER_PWD = get_env ('ODOO_MASTER_PWD' )
6161NAME = get_env ('ODOO_DB_NAME' )
6262FORMAT = 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' ]
6364BACKUP_TIME = get_env_or_default ('BACKUP_TIME' , converter = str , default = "02:00" )
6465BACKUP_EVERY_HOUR = get_env_or_default ('BACKUP_EVERY_HOUR' , converter = int )
6566HOURLY_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