From ab633e559bd5154e7c03f83fb1f71b83ed07b33a Mon Sep 17 00:00:00 2001 From: ivan deng Date: Sun, 21 May 2023 00:49:24 +0800 Subject: [PATCH] auto backup move to app-odoo --- app_auto_backup/__init__.py | 3 + app_auto_backup/__manifest__.py | 47 +++ app_auto_backup/data/backup_data.xml | 17 + app_auto_backup/i18n/zh_CN.po | 381 ++++++++++++++++++ app_auto_backup/models/__init__.py | 3 + app_auto_backup/models/db_backup.py | 345 ++++++++++++++++ app_auto_backup/security/ir.model.access.csv | 3 + app_auto_backup/security/user_groups.xml | 19 + .../static/description/emailnotification.png | Bin 0 -> 46361 bytes app_auto_backup/static/description/icon.png | Bin 0 -> 35941 bytes app_auto_backup/static/description/index.html | 96 +++++ .../static/description/overview.png | Bin 0 -> 23200 bytes .../static/description/terminalssh.png | Bin 0 -> 87569 bytes .../static/description/testconnection.png | Bin 0 -> 4479 bytes .../description/testconnectionfailed.png | Bin 0 -> 4139 bytes app_auto_backup/views/backup_view.xml | 113 ++++++ 16 files changed, 1027 insertions(+) create mode 100644 app_auto_backup/__init__.py create mode 100644 app_auto_backup/__manifest__.py create mode 100644 app_auto_backup/data/backup_data.xml create mode 100644 app_auto_backup/i18n/zh_CN.po create mode 100644 app_auto_backup/models/__init__.py create mode 100644 app_auto_backup/models/db_backup.py create mode 100644 app_auto_backup/security/ir.model.access.csv create mode 100644 app_auto_backup/security/user_groups.xml create mode 100644 app_auto_backup/static/description/emailnotification.png create mode 100644 app_auto_backup/static/description/icon.png create mode 100644 app_auto_backup/static/description/index.html create mode 100644 app_auto_backup/static/description/overview.png create mode 100644 app_auto_backup/static/description/terminalssh.png create mode 100644 app_auto_backup/static/description/testconnection.png create mode 100644 app_auto_backup/static/description/testconnectionfailed.png create mode 100644 app_auto_backup/views/backup_view.xml diff --git a/app_auto_backup/__init__.py b/app_auto_backup/__init__.py new file mode 100644 index 00000000..cde864ba --- /dev/null +++ b/app_auto_backup/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import models diff --git a/app_auto_backup/__manifest__.py b/app_auto_backup/__manifest__.py new file mode 100644 index 00000000..6758f49d --- /dev/null +++ b/app_auto_backup/__manifest__.py @@ -0,0 +1,47 @@ +# -*- coding: utf-8 -*- +# 'author': "Yenthe Van Ginneken", +# 'website': "http://www.odoo.yenthevg.com", + +{ + 'name': "Database auto-backup,数据库自动备份", + 'version': '13.20.08.07', + + 'summary': 'Automated backups, optimized from auto_backup of Yenthe Van Ginneken', + + 'description': """ + The Database Auto-Backup module enables the user to make configurations for the automatic backup of the database. + Backups can be taken on the local system or on a remote server, through SFTP. + You only have to specify the hostname, port, backup location and databasename (all will be pre-filled by default with correct data. + If you want to write to an external server with SFTP you will need to provide the IP, username and password for the remote backups. + The base of this module is taken from Odoo SA V6.1 (https://www.odoo.com/apps/modules/6.0/auto_backup/) and then upgraded and heavily expanded. + This module is made and provided by Yenthe Van Ginneken (Oocademy). + Automatic backup for all such configured databases can then be scheduled as follows: + + 1) Go to Settings / Technical / Automation / Scheduled actions. + 2) Search the action 'Backup scheduler'. + 3) Set it active and choose how often you wish to take backups. + 4) If you want to write backups to a remote location you should fill in the SFTP details. + """, + + 'author': 'Sunpop.cn', + 'website': "http://www.sunpop.cn", + 'category': 'Administration', + 'installable': True, + 'license': 'LGPL-3', + + # any module necessary for this one to work correctly + 'depends': [ + 'base' + ], + 'external_dependencies': { + 'python': ['paramiko'], + }, + + # always loaded + 'data': [ + 'security/user_groups.xml', + 'security/ir.model.access.csv', + 'views/backup_view.xml', + 'data/backup_data.xml', + ], +} diff --git a/app_auto_backup/data/backup_data.xml b/app_auto_backup/data/backup_data.xml new file mode 100644 index 00000000..e96de5a4 --- /dev/null +++ b/app_auto_backup/data/backup_data.xml @@ -0,0 +1,17 @@ + + + + + hours + Backup scheduler + -1 + 5 + False + True + 12 + + code + model.schedule_backup() + + + diff --git a/app_auto_backup/i18n/zh_CN.po b/app_auto_backup/i18n/zh_CN.po new file mode 100644 index 00000000..13b8208b --- /dev/null +++ b/app_auto_backup/i18n/zh_CN.po @@ -0,0 +1,381 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * app_auto_backup +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 13.0+e\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2020-08-07 10:41+0000\n" +"PO-Revision-Date: 2020-08-07 10:41+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "" +"Warning:\n" +" Use SFTP with caution! This writes files to external servers under the path you specify." +msgstr "" +"警告:\n" +" 使用 SFTP 要注意! 写入至外部Server的文件要在你指定的路径下。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__folder +msgid "Absolute path for storing the backups" +msgstr "备份绝对路径" + +#. module: app_auto_backup +#: model:ir.module.category,name:app_auto_backup.module_management +msgid "Auto backup access" +msgstr "备份的权限" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__send_mail_sftp_fail +msgid "Auto. E-mail on backup fail" +msgstr "FTP备份失败自动邮件通知你" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__autoremove +msgid "Auto. Remove Backups" +msgstr "自动删除备份" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Back-up view" +msgstr "备份视图" + +#. module: app_auto_backup +#: model:ir.ui.menu,name:app_auto_backup.auto_backup_menu +msgid "Back-ups" +msgstr "备份" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__folder +msgid "Backup Directory" +msgstr "备份目录" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__backup_type +msgid "Backup Type" +msgstr "备份类型" + +#. module: app_auto_backup +#: model:ir.model,name:app_auto_backup.model_db_backup +msgid "Backup configuration record" +msgstr "备份配置记录" + +#. module: app_auto_backup +#: model:ir.actions.server,name:app_auto_backup.backup_scheduler_ir_actions_server +#: model:ir.cron,cron_name:app_auto_backup.backup_scheduler +#: model:ir.cron,name:app_auto_backup.backup_scheduler +msgid "Backup scheduler" +msgstr "数据库备份计划" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_tree +msgid "Backups" +msgstr "备份" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__days_to_keep_sftp +msgid "" +"Choose after how many days the backup should be deleted from the FTP server. For example:\n" +"If you fill in 5 the backups will be removed after 5 days from the FTP server." +msgstr "" +"选择后多少天备份应被删除从 FTP 服务器。例如: \n" +"如果你填写 5, 将5 天后 从FTP 服务器 删除备份文件。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__days_to_keep +msgid "" +"Choose after how many days the backup should be deleted. For example:\n" +"If you fill in 5 the backups will be removed after 5 days." +msgstr "" +"选择多少天后将会删除历史备份文件。如:\n" +"填入 5 ,则5天前的备份文件将自动删除。" + +#. module: app_auto_backup +#: model:ir.actions.act_window,name:app_auto_backup.action_backup +#: model:ir.ui.menu,name:app_auto_backup.backup_conf_menu +msgid "Configure back-ups" +msgstr "配置备份" + +#. module: app_auto_backup +#: code:addons/app_auto_backup/models/db_backup.py:0 +#, python-format +msgid "Connection Test Failed!" +msgstr "连接测试失败!" + +#. module: app_auto_backup +#: code:addons/app_auto_backup/models/db_backup.py:0 +#, python-format +msgid "" +"Connection Test Succeeded!\n" +"Everything seems properly set up for FTP back-ups!" +msgstr "" +"连接测试成功!\n" +"所有的FTP备份设置正常" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Contact Sunpop.cn!" +msgstr "联系 Sunpop.cn" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__create_uid +msgid "Created by" +msgstr "创建者" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__create_date +msgid "Created on" +msgstr "创建时间" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__name +msgid "Database" +msgstr "数据库" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__name +msgid "Database you want to schedule backups for" +msgstr "计划备份的数据库" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__display_name +msgid "Display Name" +msgstr "显示名称" + +#. module: app_auto_backup +#: model:ir.model.fields.selection,name:app_auto_backup.selection__db_backup__backup_type__dump +msgid "Dump" +msgstr "" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__email_to_notify +msgid "E-mail to notify" +msgstr "提醒E-mail地址" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__email_to_notify +msgid "" +"Fill in the e-mail where you want to be notified that the backup failed on " +"the FTP." +msgstr "FTP备份失败时,邮件通知你详细信息" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "For example: /odoo/backups/" +msgstr "如:/odoo/backups/" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Go to Settings / Technical / Automation / Scheduled Actions." +msgstr "点击 设置 / 技术 / 自动化 / 计划的动作" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Help" +msgstr "帮助" + +#. module: app_auto_backup +#: code:addons/app_auto_backup/models/db_backup.py:0 +#, python-format +msgid "Here is what we got instead:\n" +msgstr "这里是我们 is what we got instead:\n" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__host +msgid "Host" +msgstr "服务器" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__id +msgid "ID" +msgstr "" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__sftp_host +msgid "IP Address SFTP Server" +msgstr " SFTP 服务器 IP 地址" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__send_mail_sftp_fail +msgid "" +"If you check this option you can choose to automaticly get e-mailed when the" +" backup to the external server failed." +msgstr "如果您选中此选项,您可以选择自动收到通过邮件发送到外部服务器备份失败的信息。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__autoremove +msgid "" +"If you check this option you can choose to automaticly remove the backup " +"after xx days" +msgstr "如果您选中此选项,您可以指定需要写入 sftp 的远程服务器的详细信息。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__sftp_write +msgid "" +"If you check this option you can specify the details needed to write to a " +"remote server with SFTP." +msgstr "" +"如果勾选此项,您可以进行远程 SFTP 备份。" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup____last_update +msgid "Last Modified on" +msgstr "最后更新时间" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__write_uid +msgid "Last Updated by" +msgstr "最后更新者" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__write_date +msgid "Last Updated on" +msgstr "最后更新日期" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Local backup configuration" +msgstr "本地备份配置" + +#. module: app_auto_backup +#: model:res.groups,name:app_auto_backup.group_manager +msgid "Manager" +msgstr "备份管理员" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Need more help?" +msgstr "需要更多帮助吗?" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__sftp_password +msgid "Password User SFTP Server" +msgstr " SFTP服务器密码" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__sftp_path +msgid "Path external server" +msgstr "服务器目录" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__port +msgid "Port" +msgstr "端口" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__days_to_keep_sftp +msgid "Remove SFTP after x days" +msgstr "多少天后从服务器删除" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__days_to_keep +msgid "Remove after x days" +msgstr "多少天后删除" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Run Backup" +msgstr "执行备份" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "SFTP" +msgstr "" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__sftp_port +msgid "SFTP Port" +msgstr "SFTP 端口" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Search the action named 'Backup scheduler'." +msgstr "搜索计划备份调度程序“备份计划”。" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "" +"Set the scheduler to active and fill in how often you want backups " +"generated." +msgstr "设置计划动作为有效,并填写备份间隔时间,间隔时间单位,间隔次数,执行时间等数据库具体备份方案。" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "Test SFTP Connection" +msgstr "测试 SFTP 连接" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__sftp_host +msgid "The IP address from your remote server. For example 192.168.0.1" +msgstr "SFTP服务器的 IP 地址。例如: 192.168.0.1" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__sftp_path +msgid "" +"The location to the folder where the dumps should be written to. For example /odoo/backups/.\n" +"Files will then be written to /odoo/backups/ on your remote server." +msgstr "" +"转储应将写入的文件夹位置。例如 /odoo/backups/远程服务器上,然后将写入 /odoo/backups/.\n" +"Files。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__sftp_password +msgid "" +"The password from the user where the SFTP connection should be made with. " +"This is the password from the user on the external server." +msgstr "从 SFTP 服务器连接该用户的密码。这是SFTP服务器上的用户密码。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__sftp_port +msgid "The port on the FTP server that accepts SSH/SFTP calls." +msgstr "接受 SSH/SFTP 使用的FTP 服务器上的端口。" + +#. module: app_auto_backup +#: model:ir.model.fields,help:app_auto_backup.field_db_backup__sftp_user +msgid "" +"The username where the SFTP connection should be made with. This is the user" +" on the external server." +msgstr "SFTP 连接使用该用户名。这是在SFTP服务器上的用户。" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "" +"This configures the scheduler for automatic backup of the given database running on given host\n" +" at given port on regular intervals.\n" +"
\n" +" Automatic backups of the database can be scheduled as follows:" +msgstr "配置适用指定数据库备份 在设置服务器端口定期运行" + +#. module: app_auto_backup +#: model:ir.module.category,description:app_auto_backup.module_management +msgid "User access level for this module" +msgstr "本模块用户权限" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__sftp_user +msgid "Username SFTP Server" +msgstr "SFTP服务器用户名" + +#. module: app_auto_backup +#: model_terms:ir.ui.view,arch_db:app_auto_backup.view_backup_config_form +msgid "View Cron" +msgstr "查看定时任务" + +#. module: app_auto_backup +#: model:ir.model.fields,field_description:app_auto_backup.field_db_backup__sftp_write +msgid "Write to external server with sftp" +msgstr "SFtp备份至远程服务器:" + +#. module: app_auto_backup +#: model:ir.model.fields.selection,name:app_auto_backup.selection__db_backup__backup_type__zip +msgid "Zip" +msgstr "Zip压缩包" diff --git a/app_auto_backup/models/__init__.py b/app_auto_backup/models/__init__.py new file mode 100644 index 00000000..b4746b69 --- /dev/null +++ b/app_auto_backup/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import db_backup diff --git a/app_auto_backup/models/db_backup.py b/app_auto_backup/models/db_backup.py new file mode 100644 index 00000000..dcc340c8 --- /dev/null +++ b/app_auto_backup/models/db_backup.py @@ -0,0 +1,345 @@ +# -*- coding: utf-8 -*- + +import os +import datetime +import time +import shutil +import json +import tempfile + +from odoo import models, fields, api, tools, _ +from odoo.exceptions import Warning, AccessDenied +import odoo + +import logging +_logger = logging.getLogger(__name__) + +try: + import paramiko +except ImportError: + raise ImportError( + 'This module needs paramiko to automatically write backups to the FTP through SFTP. ' + 'Please install paramiko on your system. (sudo pip3 install paramiko)') + + +class DbBackup(models.Model): + _name = 'db.backup' + _description = 'Backup configuration record' + + def _get_db_name(self): + dbName = self._cr.dbname + return dbName + + # Columns for local server configuration + host = fields.Char('Host', required=True, default='localhost') + port = fields.Char('Port', required=True, default=8069) + name = fields.Char('Database', required=True, help='Database you want to schedule backups for', + default=_get_db_name) + folder = fields.Char('Backup Directory', help='Absolute path for storing the backups', required='True', + default='/usr/lib/python3/dist-packages/odoo/backups') + backup_type = fields.Selection([('zip', 'Zip'), ('dump', 'Dump')], 'Backup Type', required=True, default='zip') + autoremove = fields.Boolean('Auto. Remove Backups', + help='If you check this option you can choose to automaticly remove the backup ' + 'after xx days') + days_to_keep = fields.Integer('Remove after x days', + help="Choose after how many days the backup should be deleted. For example:\n" + "If you fill in 5 the backups will be removed after 5 days.", + required=True) + + # Columns for external server (SFTP) + sftp_write = fields.Boolean('Write to external server with sftp', + help="If you check this option you can specify the details needed to write to a remote " + "server with SFTP.") + sftp_path = fields.Char('Path external server', + help='The location to the folder where the dumps should be written to. For example ' + '/odoo/backups/.\nFiles will then be written to /odoo/backups/ on your remote server.') + sftp_host = fields.Char('IP Address SFTP Server', + help='The IP address from your remote server. For example 192.168.0.1') + sftp_port = fields.Integer('SFTP Port', help='The port on the FTP server that accepts SSH/SFTP calls.', default=22) + sftp_user = fields.Char('Username SFTP Server', + help='The username where the SFTP connection should be made with. This is the user on the ' + 'external server.') + sftp_password = fields.Char('Password User SFTP Server', + help='The password from the user where the SFTP connection should be made with. This ' + 'is the password from the user on the external server.') + days_to_keep_sftp = fields.Integer('Remove SFTP after x days', + help='Choose after how many days the backup should be deleted from the FTP ' + 'server. For example:\nIf you fill in 5 the backups will be removed after ' + '5 days from the FTP server.', + default=30) + send_mail_sftp_fail = fields.Boolean('Auto. E-mail on backup fail', + help='If you check this option you can choose to automaticly get e-mailed ' + 'when the backup to the external server failed.') + email_to_notify = fields.Char('E-mail to notify', + help='Fill in the e-mail where you want to be notified that the backup failed on ' + 'the FTP.') + + def test_sftp_connection(self, context=None): + self.ensure_one() + + # Check if there is a success or fail and write messages + message_title = "" + message_content = "" + error = "" + has_failed = False + + for rec in self: + path_to_write_to = rec.sftp_path + ip_host = rec.sftp_host + port_host = rec.sftp_port + username_login = rec.sftp_user + password_login = rec.sftp_password + + # Connect with external server over SFTP, so we know sure that everything works. + try: + s = paramiko.SSHClient() + s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + s.connect(ip_host, port_host, username_login, password_login, timeout=10) + sftp = s.open_sftp() + message_title = _("Connection Test Succeeded!\nEverything seems properly set up for FTP back-ups!") + except Exception as e: + _logger.critical('There was a problem connecting to the remote ftp: ' + str(e)) + error += str(e) + has_failed = True + message_title = _("Connection Test Failed!") + if len(rec.sftp_host) < 8: + message_content += "\nYour IP address seems to be too short.\n" + message_content += _("Here is what we got instead:\n") + finally: + if s: + s.close() + + if has_failed: + raise Warning(message_title + '\n\n' + message_content + "%s" % str(error)) + else: + raise Warning(message_title + '\n\n' + message_content) + + @api.model + def schedule_backup(self): + conf_ids = self.search([]) + for rec in conf_ids: + + try: + if not os.path.isdir(rec.folder): + os.makedirs(rec.folder) + except: + raise + # Create name for dumpfile. + bkp_file = '%s_%s.%s' % (time.strftime('%Y_%m_%d_%H_%M_%S'), rec.name, rec.backup_type) + file_path = os.path.join(rec.folder, bkp_file) + uri = 'http://' + rec.host + ':' + rec.port + bkp = '' + fp = open(file_path, 'wb') + try: + # try to backup database and write it away + fp = open(file_path, 'wb') + self._take_dump(rec.name, fp, 'db.backup', rec.backup_type) + fp.close() + except Exception as error: + _logger.debug( + "Couldn't backup database %s. Bad database administrator password for server running at " + "http://%s:%s" % (rec.name, rec.host, rec.port)) + _logger.debug("Exact error from the exception: " + str(error)) + continue + + # Check if user wants to write to SFTP or not. + if rec.sftp_write is True: + try: + # Store all values in variables + dir = rec.folder + path_to_write_to = rec.sftp_path + ip_host = rec.sftp_host + port_host = rec.sftp_port + username_login = rec.sftp_user + password_login = rec.sftp_password + _logger.debug('sftp remote path: %s' % path_to_write_to) + + try: + s = paramiko.SSHClient() + s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) + s.connect(ip_host, port_host, username_login, password_login, timeout=20) + sftp = s.open_sftp() + except Exception as error: + _logger.critical('Error connecting to remote server! Error: ' + str(error)) + + try: + sftp.chdir(path_to_write_to) + except IOError: + # Create directory and subdirs if they do not exist. + current_directory = '' + for dirElement in path_to_write_to.split('/'): + current_directory += dirElement + '/' + try: + sftp.chdir(current_directory) + except: + _logger.info('(Part of the) path didn\'t exist. Creating it now at ' + current_directory) + # Make directory and then navigate into it + sftp.mkdir(current_directory, 777) + sftp.chdir(current_directory) + pass + sftp.chdir(path_to_write_to) + # Loop over all files in the directory. + for f in os.listdir(dir): + if rec.name in f: + fullpath = os.path.join(dir, f) + if os.path.isfile(fullpath): + try: + sftp.stat(os.path.join(path_to_write_to, f)) + _logger.debug( + 'File %s already exists on the remote FTP Server ------ skipped' % fullpath) + # This means the file does not exist (remote) yet! + except IOError: + try: + # sftp.put(fullpath, path_to_write_to) + sftp.put(fullpath, os.path.join(path_to_write_to, f)) + _logger.info('Copying File % s------ success' % fullpath) + except Exception as err: + _logger.critical( + 'We couldn\'t write the file to the remote server. Error: ' + str(err)) + + # Navigate in to the correct folder. + sftp.chdir(path_to_write_to) + + # Loop over all files in the directory from the back-ups. + # We will check the creation date of every back-up. + for file in sftp.listdir(path_to_write_to): + if rec.name in file: + # Get the full path + fullpath = os.path.join(path_to_write_to, file) + # Get the timestamp from the file on the external server + timestamp = sftp.stat(fullpath).st_atime + createtime = datetime.datetime.fromtimestamp(timestamp) + now = datetime.datetime.now() + delta = now - createtime + # If the file is older than the days_to_keep_sftp (the days to keep that the user filled in + # on the Odoo form it will be removed. + if delta.days >= rec.days_to_keep_sftp: + # Only delete files, no directories! + if (".dump" in file or '.zip' in file): + _logger.info("Delete too old file from SFTP servers: " + file) + sftp.unlink(file) + # Close the SFTP session. + sftp.close() + except Exception as e: + _logger.debug('Exception! We couldn\'t back up to the FTP server..') + # At this point the SFTP backup failed. We will now check if the user wants + # an e-mail notification about this. + if rec.send_mail_sftp_fail: + try: + ir_mail_server = self.env['ir.mail_server'].search([], order='sequence asc', limit=1) + message = "Dear,\n\nThe backup for the server " + rec.host + " (IP: " + rec.sftp_host + \ + ") failed. Please check the following details:\n\nIP address SFTP server: " + \ + rec.sftp_host + "\nUsername: " + rec.sftp_user + \ + "\n\nError details: " + tools.ustr(e) + \ + "\n\nWith kind regards" + catch_all_domain = self.env["ir.config_parameter"].sudo().get_param("mail.catchall.domain") + response_mail = "auto_backup@%s" % catch_all_domain if catch_all_domain else self.env.user.partner_id.email + msg = ir_mail_server.build_email(response_mail, [rec.email_to_notify], + "Backup from " + rec.host + "(" + rec.sftp_host + + ") failed", + message) + ir_mail_server.send_email(msg) + except Exception: + pass + + """ + Remove all old files (on local server) in case this is configured.. + """ + if rec.autoremove: + directory = rec.folder + # Loop over all files in the directory. + for f in os.listdir(directory): + fullpath = os.path.join(directory, f) + # Only delete the ones wich are from the current database + # (Makes it possible to save different databases in the same folder) + if rec.name in fullpath: + timestamp = os.stat(fullpath).st_ctime + createtime = datetime.datetime.fromtimestamp(timestamp) + now = datetime.datetime.now() + delta = now - createtime + if delta.days >= rec.days_to_keep: + # Only delete files (which are .dump and .zip), no directories. + if os.path.isfile(fullpath) and (".dump" in f or '.zip' in f): + _logger.info("Delete local out-of-date file: " + fullpath) + os.remove(fullpath) + + # This is more or less the same as the default Odoo function at + # https://github.com/odoo/odoo/blob/e649200ab44718b8faefc11c2f8a9d11f2db7753/odoo/service/db.py#L209 + # The main difference is that we do not do have a wrapper for the function check_db_management_enabled here and + # that we authenticate based on the cron its user id and by checking if we have 'db.backup' defined in the function + # call. Since this function is called from the cron and since we have these security checks on model and on user_id + # its pretty impossible to hack any way to take a backup. This allows us to disable the Odoo database manager + # which is a MUCH safer way + def _take_dump(self, db_name, stream, model, backup_format='zip'): + """Dump database `db` into file-like object `stream` if stream is None + return a file object with the dump """ + + cron_user_id = self.env.ref('app_auto_backup.backup_scheduler').user_id.id + if self._name != 'db.backup' or cron_user_id != self.env.user.id: + _logger.error('Unauthorized database operation. Backups should only be available from the cron job.') + raise AccessDenied() + + _logger.info('DUMP DB: %s format %s', db_name, backup_format) + + cmd = ['pg_dump', '--no-owner'] + cmd.append(db_name) + + if backup_format == 'zip': + with odoo.tools.osutil.tempdir() as dump_dir: + filestore = odoo.tools.config.filestore(db_name) + if os.path.exists(filestore): + shutil.copytree(filestore, os.path.join(dump_dir, 'filestore')) + with open(os.path.join(dump_dir, 'manifest.json'), 'w') as fh: + db = odoo.sql_db.db_connect(db_name) + with db.cursor() as cr: + json.dump(self._dump_db_manifest(cr), fh, indent=4) + cmd.insert(-1, '--file=' + os.path.join(dump_dir, 'dump.sql')) + odoo.tools.exec_pg_command(*cmd) + if stream: + odoo.tools.osutil.zip_dir(dump_dir, stream, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql') + else: + t=tempfile.TemporaryFile() + odoo.tools.osutil.zip_dir(dump_dir, t, include_dir=False, fnct_sort=lambda file_name: file_name != 'dump.sql') + t.seek(0) + return t + else: + cmd.insert(-1, '--format=c') + stdin, stdout = odoo.tools.exec_pg_command_pipe(*cmd) + if stream: + shutil.copyfileobj(stdout, stream) + else: + return stdout + + def _dump_db_manifest(self, cr): + pg_version = "%d.%d" % divmod(cr._obj.connection.server_version / 100, 100) + cr.execute("SELECT name, latest_version FROM ir_module_module WHERE state = 'installed'") + modules = dict(cr.fetchall()) + manifest = { + 'odoo_dump': '1', + 'db_name': cr.dbname, + 'version': odoo.release.version, + 'version_info': odoo.release.version_info, + 'major_version': odoo.release.major_version, + 'pg_version': pg_version, + 'modules': modules, + } + return manifest + + def action_view_cron(self): + self.ensure_one() + + action = self.env.ref('base.ir_cron_act', False).read()[0] + cron = self.env.ref('app_auto_backup.backup_scheduler', False) + if action and cron: + action['views'] = [(self.env.ref('base.ir_cron_view_form').id, 'form')] + action['res_id'] = cron.id + return action + else: + return False + + def action_run_cron(self): + self.ensure_one() + cron = self.env.ref('app_auto_backup.backup_scheduler', False) + if cron: + cron.method_direct_trigger() + return True diff --git a/app_auto_backup/security/ir.model.access.csv b/app_auto_backup/security/ir.model.access.csv new file mode 100644 index 00000000..093a80b8 --- /dev/null +++ b/app_auto_backup/security/ir.model.access.csv @@ -0,0 +1,3 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +admin_access, db_backup admin access,model_db_backup,base.group_no_one,1,1,1,1 +admin_security_rule, Model db_backup admin access,model_db_backup,app_auto_backup.group_manager,1,1,1,1 diff --git a/app_auto_backup/security/user_groups.xml b/app_auto_backup/security/user_groups.xml new file mode 100644 index 00000000..e2146011 --- /dev/null +++ b/app_auto_backup/security/user_groups.xml @@ -0,0 +1,19 @@ + + + + + Auto backup access + User access level for this module + 3 + + + + Manager + + + + + + + + diff --git a/app_auto_backup/static/description/emailnotification.png b/app_auto_backup/static/description/emailnotification.png new file mode 100644 index 0000000000000000000000000000000000000000..14fce118843f545ec183876283a47dfb02c2855f GIT binary patch literal 46361 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 literal 0 HcmV?d00001 diff --git a/app_auto_backup/static/description/index.html b/app_auto_backup/static/description/index.html new file mode 100644 index 00000000..c8a8fdec --- /dev/null +++ b/app_auto_backup/static/description/index.html @@ -0,0 +1,96 @@ + + +
+
+

Connect with an FTP Server

+

Keep your data safe, through an SSH tunnel!

+
+

+ Want to go even further and write your backups to an external server? + You can with this module! Specify the credentials to the server, specify a path and everything will be backed up automatically. This is done through an SSH (encrypted) tunnel, thanks to pysftp, so your data is safe! + +

+
+
+
+ +
+
+
+
+ +
+
+
+

Test connection

+

Checks your credentials in one click

+
+
+
+ + +
+
+
+

+ Want to make sure if the connection details are correct and if Odoo can automatically write them to the remote server? Simply click on the 'Test SFTP Connection' button and you will get message telling you if everything is OK, or what is wrong! +

+
+
+
+ +
+
+

E-mail on backup failure

+

Stay informed of problems, automatically!

+
+

+ Do you want to know if the database backup failed? Check the checkbox 'Auto. E-mail on backup fail' and fill in your e-mail. + Every time a backup fails you will get an e-mail in your mailbox with technical details. +

+
+
+
+ +
+
+
+
+ +
+
+
+

Contact / Support

+

Need help or want extra features?

+
+
+

+ Need help with the configuration or want this module to have more functionalities? + Please create a bug report on the Github issue tracker +

+
+
+
diff --git a/app_auto_backup/static/description/overview.png b/app_auto_backup/static/description/overview.png new file mode 100644 index 0000000000000000000000000000000000000000..f531afd4b9d28d70db96ba44e54cbf43a514dccb GIT binary patch literal 23200 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

c zwYV6$Xi2DLH46y5Cji0ISej^V=^elaH<@bhTW)2){}9n3po}vORw@;~zZ0#n+-S2Z zgHWDOWcxyQT&Qdut2#DV@A)+^-%)*OXZs&bZ~BoSonH8&+em zr9E>SPViC**&Us~3jN;MF$zmfC$qUA%-EsYU10K%i!Fk!DN`Zsu>&T8X?~nrT7P~< zeTzmv>iDand<5)5S-!O6rZZx8T`g^UbK3RNnC0_#r&h4n_nRxt%OFyQmN}9=JuP^f z{BNrAq0dr}AT4;LZl@+Oz+8XP8$^5yK1yBhXnP@=Ge7jo&VZozImQgUuuwZ8T$ zO9ue}yk=qd!DSAmoXR5P@T>C(Jr*a0D8YR$=a(v%aLl;24(up-X77`8S8x=H*ATSm zrd8-RyXTA?4Gl0Gzyd-%(!a$708;!0kq&xH9J#oCKm21Bf0sQwqBsEz@NN2Q9kL1t zz5PXb(^!L79Vb+G47xlP!4b7dveM+A^q&uB##DU@!2AB2N_4VjHkW~%M%3-&Q+xflrx!cF%^Uc-ODJsC-2jr5T zMG|5AH@xRXTA4O7NcY7<(xQ$G()E!$NQdgbZ%Np4Xh%I-H>|$w&`v>xA_FSwdloBxh>j7QeC z83mfR>~>drjI)~@T3cFB0e$95h@bUb%B_KC_gN`@+((lgIrDn{RZ&m!at^hnLj(vs zl`Sj&T#4hpcyt`p(z8p#SkWFn0z2h4XB+Hb6GP9-Rs$&f$5Wjw4=$~i>C=Ba3F;ql z5z1{tia8ZYicHCtwVTM~4=jQAAkB%_pHJjTvTFApphx}POriZ>); zthoA=mFD(2&EweA!Z>SLoy7!q&+@#M;^J0WqLi1;^8#E$r|V10Tzdh&{*9aUdg(=$ z7xe@e?~L!cZ17&Jx`6<4+fbzJg^=loN~G*p{w66bk+N?Hm0>CYjB)(e<$t6yH4RY4 z<*^9@Fjg$JdL>WFT)b~8$KnUN4vxH%e+p<2j~jfZ*ZdrJsJsyNz=q?3OxPL(-=T?_ ze?K^l>cIeLXJ0$^ppjq7f=jq+C)TIKK%mF)pkQu8%iV*sokq(o-7+Vk`pbx|I(lIV zJT{vQuWZ_PxMsmDjjt;Jz8>5q`<-1LsMRU%!SYwZO?>E|ts`ybZPa)dwLlFm0W+s~qQMUk3em7zEwJg%Su~2 zi`Q+$5(Nc?5Dm+A6!F?bVW|oxAGUXu%Lg{a0J~Rx?Z<($RMsqpvr%N^b$MVK292Ri z{Ty-P&=6bo7t=gEuvj(lcN!)CU){N47*NSX&3%P8qV#o7vSdE6XFvTGIrZVW<8P%= zu3>BCuLfaaa^AYZy=mJ&j?a+~N7y|9yt??~M{9yB806~4Q?Oinc4Ko3vwJZnN)Oe} zQ(g4w$%a)`y?L=<2=*rr+xSsWk?>oiuZ%p|h0TcQycM?8CRYkZ(eJEYPE<9qV9VwA ziE$E~qQl4S2b)uVRvT53{LHP0P~0O!!)I9>0A>F?kPV$GXW?EZZ#PDs=ULMF89=B2 zjo;qomS#R!#QchK(7EhKkH3IH^8wx~FB zZCgA=`kFs_ZE-lr|9V>!q~}{eMK&unO8>e-pTEID)WIP0MZ-% z^F;FIyMJCWGn=r5^$zGFnyf5L+bq+bAylUYSJ9E~5hwgU<>#Kpm2>@RWb12l>sS&+ zM2FdQm<{$(Y=t6l=+Y+iPurr^1fzq$OU;j{gfgRN?>5VhMKWH=QHA!lij*c^rXQCc zXif{FSbzW;ru$4Oh08^e6=e(4Spm##t&E--g_aJRRda@5msGEw&)5lz%ieAgcIvH~ zyo0Rbn1rSUH!e*P}>*xUez7sD{8=+=XZs+`rz3sQ#A~%VJ zQNA9|_|OEMLoD;YPZ02Co3GtfQEQ>UFEd%9}Q+vAiLXe@YV)a5UhW(=B@k24*?eNu{NhwW+5{xM4#* z=?>6`bXU&L55+7SWx6|2Q~i`^XK`*P16cNb)YRTfhgtUE1yZ*wNfqa9BE2k_VQ8vu z`GO33gj#`&9Yb^T!5g8fz)IKKT~Lnd9VXc6GRj zw`H`Y$;Pfzq7P%%9S}?csHpC0KRyAqoj_wC#U9e?H1b?TbLybzcUGB$|s5s+YQGjXJ@0ITCa+K z;+6{>2+(Gmrni~@V1O{db^keo`PQ)SLhH!DO5n^>Yuh!K`oCrJ=bBSlSOacARphtB56xZ zm~v>7fA5%{grjhU@fcLW;-#wQYI{7xn-Y71Hr@Pxi)3&B1=Z(*L=lbHG!8g*iaQ0O zn+0AVqi+j|!weuFOMdp8$S^OEUhixokwbUBH58Laq%iNLVd&GU0%X1zP%tp~AVQmz zhn4y)F}`k?PfR?p8f~}?O^5NmFAlvI-OgA4hakn=ar%?q_zQdEV7p%5rOU1Gg7Td; z(r>ATuT(6$+JJz&!Knn6j14(GDZ4{9vv2nq!6<;c^k(MfA7?xp&yhAyoGEdYrj6VZ z@5qqmxI%+$`C|NSF|if_(ExW`|L&-C{Tosd|Gg~v-&%TzW{+szpZt;Q_;-pEVTz2> zo>Hb``uvQ>PtAjW647>k3ZfyGVAs?$4gEGJohcUf%?yt~FjrKfQ=$i#r6CvH?)kgK z38kHdEJtSsO2G>^dzYQOftBBB?fB^9+ipXbn;KBKg^_ansxf3#Gi2PTg%fXNjBGVKWLOJA7XQ2j>QCEy5f2 znkQK56=M;qJL-!~E=W8LW`oRozwP81y-HK=>YPpL{QD^k&Tcn`rFx8S=%x>~qyI!r z-CB`c?Q9stbG~shv|wkq-6Nu}vGW?B9tae|>$wO~JPA~vuKEPKksH372??{K%-H)= zPJ$#VjGx`AA!M0iR@c(kmP+`e8U=~&J z)k1HzdnMXf?dW^`P69nEg`wN&hd&=-f4VY8iP@~y!c7c%H{)tf)?#I~tSZ}SLNBiAjKDo}T<_ed5J>q} z2EhjNb?Ex@JP>)Yt)=p7%QthFj4z)Bf5uIidbf2wZXIB@{s`?(G;3)Je%AftVCX0$ zO|JLtOXPs{*?kS#d;XU>7H5#K4W3PtP#`wC|DFXra1l;n`4laqVVx8p1`W{NJ1Jx?OihKD8W~@M6hXeoq=c~q7=-|tE+b07`0`)C z6E>##S5Y)U9(wSKL=r>8s&=w=Jnuz(Jr`_%xoTZ4Vc7hU*KMSHi!{WsEmlKnq-W+aL`JF<-5q!eMl2%cgQMKxr(FCup$J=>LIoyaf_>K z5#A2S06UC@3(Yqg~Mpwj}<11K; z;$&Q#ICJamOnu6W6K_7mhWS;LiZjfJ9cBbjsD~v?QORfDXDUve+s5pff^#?*xYz)N ziiqx;ou$bS^0Y) znQBC)tEid(17ODfTqjl+`*U%{EHP^Ra7D`9>AWUCZH!Za{SFTaPbfGWnbAa|{ty4w z^b*q64;A_yq7c+$7U1ovtn@w0=i6nl&%w!&m}c*(V(3GL2uv#W5m~IGpb5)_`}dT) z?&QV@CLtk}tt9#(HNb>N&ftPm`&Ldz#-YR@IWQp*3y&*s_S(nx{R zmC*cD+a3#Fb0Xw(4UyGuE5`ioTGL$pw(<|i;;O6LX|>VZkc-|jm5j&rauLw%^?piw z$(#aV-)cGKQN}SO@wwpB9}%RlSrp%m^>2 zWI$u(eBc^P7pQ2@0tWRMRZYDt%C^iiDUYqS{A8=M=ei;*I^>`ti5U59y+T)>vF`U_ z)x_u*+xz;FY@5WFDDN@+VEw>Md$(+BaU5s;D!LV#bz0@iQ@48z@TNw(ED@Ml#3n(( zndm$%&^ZOK#L9&a>U?yN5IJdE<}-xVR%7HVZ|vyO*_?batsDy@tWHfLDwS#1w{sqj zi&w>xIGfy)z2!|a)2Nxw+o-)6nZSSTVY9t}=55DmBFOt*wk%ly=Li*S7uzxx3lyJT zdEGNsVmmo^Z|;m6`nC@}6G++B=Ir$@)W(>Xm3^t+cS#hKJJ`Bq6%|Z3QUkL$_i632 zd{rH96L>EE+18i7`G%v{d8KQ}YTjJUW{p#U_6V=)3)E%Q=m+h&r)qqeV;WNyaJ)8# z)!&x*`~XzB0J3(-yC`p*hVwayaL4z&bK#pfB5y|4dg9AKS#iK8HQz3H%Pao;h4fJ6}IlJqwxiS@oXR$B9cgI~UH^)iFSM;!IqzC2n`(~(D zr)X2Y?&femjrNDLi2*Z5em-=0Dx%Ze4`yskx3>T0AGJ(~zNv%sj9F~GWz=H#Gh>kH zt9+RO6lANmL#gpyx{8-zTAlh4G{PNk=O$p>!M4tc9r#Xa1cw;iJ}iFIH9sQ$xu8n$ zB-}#`7`uw;3wzr7@h{y4NV+xBn!PthuF1lHWj>!lKaUs(iw}fD-ffKRzS#-;eclG# z0QQEllS_&P4HJhP*~^`T{bNo%6{AY6>#YF^1`K@kt@RVabYt7Gelf`6)wxWM;=QYP=a5pLcTF(|LvtHV~z*HG@Dsi6n7)-4O8wGj*|X)o&an8{Eo zLti?5nD9Q{h_XN&%9Ojwf@&NUz9ftif!To45i3-4=Xz z=5_JLpPJ6{AlLLvAdsElg<=!CGLJ*f)zXP3vD1q%;|7#W;3qak352wI5$E7EP(&p{ zB_*-(wRe7d4)6#*QpINBtapFNOF374lM8Ql%W0drUi;y>?pKYa364+0uu5_Ee*)>L zX}Cat;i_e;we8a+^xfKNLcyx+&21%{`j5^1d(UK;sT48ibSbI(@B$q;>g%h27AIG0 z$&{8feV7iNnVvY`H7Ru)77 z7)(}ZdF@iiG^p0}DM7K0YwD}_u~ulieOrJc;1vM_aZ33) z;~3ndIRJL|LwbU1h%Q;NH}&bC(B_wBSDm{tijSmt5mByvnVx+BmVr;b$wXomKT>k{ zV;FHd-t1ePrHy?=(kXEi1Pi=2reG0Qv3tuFyeC2PKJ;_evGIT#SecKF`u7w3yf7|R zNM88A>?a%78o*%jiOrL-4CyB=ei_~4YhjibpHqd#Xl8Frw{fcly>CTw;BM`XJ197A zZL$L`KL1c0A74{D+06gnz?+^C$`Z*J-FC02E~&*EU-j`Mep)d=b*iC>M{R$tAMX_FSemK2$gtK?4=|M~q7iGctz3-&75by76 zVS4!Qmqo4?1TP+yK@)%8k(iN-D}pAtL$YDHW`B3NN$SwS*nCmK1p2T33~__6@y4oi zFcse>=sX*%2LJ6T$NY^b7LAtz&!C-KE>aI_fSy#N+v$Hyu7dGaql38nIm;|l@W)Er z{Mn7bU??e#OnMbe87ISGJST4*6*XZ{ZEq^8Uf*%kc5@GvCL#f21$kycP7gpPtdXSn z{wq%Sh>YwMRfsc@aR~zxjsh|?L6$?20Sl5kROE9gNJ>$V4{!V*!_3Olr!#GsWRfR! zR6*_quv|qD?5-KcSFvwhe>Qt(?zDD~NaMm0_7IwHU1(r`aCEYf2k$H+1`masF3MSK zJeS+fcjtng_Xq0P!l-P_dk4Xan0(p@cZ$iu!}$Z?;Ax4#aHdN3`;}YOp3D8xOjpL zFa3V9GjemUg^)_&j;o*-U5h3g(66zwjI{x2m^hgiRE!nI-@deXQCpRXAF9TpsWMhB zq0%gP)OMS10a4~qk$-F-PIFmu>#HaAc4&22PUW%6!kcDf7t)A_0>@uz5Z_(NR_zZ? z5ZI7O5D#6EG>g(^_z!=Qml2$e z;7@jbuksY?kR|c=Q098zfSi60;OXSUTKrX0B z0_t;)3wC=L8)x~|qh9#(>?S+P%pfqGxk690%73(|b&Ok<8$!)9QT>_l`PlP)iR;HdqzNk8aqe-!iPvD=%I1%`^4heaYFHvOExHe3 z?GuR^TrP1IHtW1*pvZ_D zVmNqiGWy7^8a!Z(>VfO~GRY96F2Ca4QvA-FL6^Q3tTjC)hRZwxD>aj?s=XLeih0jb zF)BObaP1C<3BOo$&G{|{2g0`&&J-EUew!_cpL1WxHz{Fz<=WIgDp%_KhNh_)!@$?j z%8x=_AUfc%oc=o!TXbb0ygYjiRi4p_L>5-6Azxr_VZrB>0(UNIEcIF=SM>BBb8v!R zD%>w{&coPPE#0R`K$!*Kt3JNeD-Yhl{MP%?;T!7qTP-!V(|c{_R}KiW5t=tVLVowK z4l>!=eXI|GJ$GunYI87nFq%mT-z}|)i+0%>u3HjGIF$(940!7MwM5lq-nF%edc7st zRJ*k*lt)K!oP>OA(sjT$bnz2DM=F_?pyc@JxmCZt`wKG=Qb{M(!GCH1T;w}bp^dIg zDEt9MP@PHQLgXtDiQ;oGNfT?&kNXRs{1!LA#RTIy5yp7n{`%g!HKQ)P^UK}|UUw|% zA4e#6#KG=DU~2YCMxp(==9hyza{FxzQ2XUSvrNLKS=>yYd*DJ)TrY9>!+x9xu#}LU z&4K_xoKy_t7t=cqhaX3S7+Hx%K^7Q%{e6)K(6Nr3HE)w-`2j1V? zULi*T0OXZG0DvF+ZwL275m+7ijBMKX2?zzS5_RhxK>{41&+f=EpAvvV@6*9r<%tve z6Va*+V+)e@ccnzNoGa$X!LC9|Kh`H9fM~yVL&R)n)C}Wtnftqa`^O+K2<~?#v`fzR zLlyZOg@ z(BGj~Wm%P?N~$y1x5Rl!s7$Y&*4ghx&RHtTd#d)eRdvROhkbsyKKH1>K@mdUc24aqa#v?fO~Jp0daEbRn(= zvGLlGM%}H~=Yopn4q@wqHko^%lJGMl0hwOUE9-M2hov-nvmB4;fgmz+{bWtM_ z;rkarR(1-157RGru$X%D-7<3L5>a*vn?Hq|J5W`AMUWa>F{k$&g6nwcPw;+Ysg4RfsZE*RJDS3{X8&?2xB1Pi_3>)3dp+@J z>yNnwbwl8#vQeThShTMHp~kJwb3ymSyCV=JOzPpJBaB)D(un)!+_yV6pu7xgZp4n!Dt7S)dBM{4fVX{O-#$QR* z3|dG{YiX6OEqSePvPc}Txrt`w@eG}8c3m6>Es=X;z`re{%FliSh1D8Xw#6SVY>nC) zhSuNIBc3h($>%<1*xa?`%=ot2FvkY3&<7pMbRbi>E3fpCIj6C|HrAo|wdxN@ys-9zuza$58 zOUCqvKnNNT`Ns56qc1N&qO8N8e$svINr`V^*y$zOlyFq_Bb1oYQJK*Z7grbA-sjIq zW*dhabS*zQ7ar|$7)kIHc>V4PfDW0D{3!ajcK<(HF-**@aTavB{8qpQt*C0}JBV^S z8+s4s_L_pyUF)bU08j}5hYc>iq>P!ZncO;(DVXG;n&3lZ$mtPHR#dn20GU!K2TiVJ zusTRtUdRQ;524ts26!eaBVO*7Kn`ZM$~W5l)M{#q%Ot2fr6se+wWAr2RvBlDSq{SIrME^6v0a6Bwuf)LoUyWP`R1;sb z$BGg~MF>&_6p)TIDFzVX4@i@qP!$Xa1d-mWqM(2Z384x~F?0wu5Q=m{lafGy1VI5I z6p`M)<^SII&U@eY&UtUonLWFA@1485XJ*daJM)`!P3K6u)Kn3$RW@2fvYB6Wdt zu91c4iM?N!eo0iYofp#Q04^?A(KbXVy z#%rpU@FJIcncpdzE~F7FQf@O=xG&YQVpw`MOW0*9d9JvLdSi)7`#^XB_Ax-3lsB%3 zWlSvm_N~G5gNqkvBMnuw)ZsvK*JyL58eah=LrJM604_cBGOG^Z^g3utb5W!iBty_S zT^e8IpdZQX9NjuQ9=!SLwY%?n!nV}gxzn4kJXc4bCtn+QEB`J{sMtP)leysHk1<%X zLghw*`M1RLJg@Jeie{6)#%@e$;_dr`H(}d3YDD~f^3tdgzO2jZwvTSGMh(=kab52w zXUO;OWA9;s;v#+jA)LqWz}r7BHzMbB-j|~k`=;xu{1n%y3Ad}_$|@P6J+t4JT)Ng= zV*xW5zWXx;oOPo(yRySJpHlaRC~zR^YU8EA{tPEsB>qG5q6eEPdD@Y2^A(cYZ0WLg zuZd5=kM${fcL!>*shqJzaDtjJZ7)P$(KU-hZh|cv0oQEn(QTe)+-WA&=37p<5X7f^ z6`{S{k#e|pvGDqZtEU26?kSEnSaZFp$}gW*^seZVWv%iNwlHm5n1+o_7@6MBwYD5< zl~Rp6vWBgWR_N|G1<+F|P644f?9a=WMn*>NbfK1}ezjYxn3_%A)GyKJk8b@q^Rb&@ z5SVnmlk1X9e8WpZbG~kL9pk2rnBHw}HpXiW z6%BwQzM&t&phVIuvyI}4T4y4`?1C`qOL#j1-Ub5_Vp?X*%t8?sxXU+bBB`6WaO2*^ z<@^sKrR|3uvBf_R!(0Zc$vjuxiv5Omm1OTN$(N; zWW1ZMNf$YMx`X1Qei`#|QxsN~7g!CKV&f{)X-<5Qh9F|39Ce343^)V+GLV z<6Iw6fYjjesLFQ@Gt6vsNj2DV3-wkG%T0PzWgMINiJlL(=)g1r_cV)d)NHVvrJ3M4 zxv(P*Rk)|1vhw@nWn0W*g+DcxQXlNQ&OPISTXWrs_(_;C{sHu4rrW=MQh0oJw~UsQ z)t^gqU)Qcezg-yT54hRr6%bk{y=ZM7=%y3U8r!Mrmg^KMyr=6d?2`E9%Sz-y*|H3UBbMd`m(aYEIOsz zc_l!dyH|N|fK4a2{~6Lq9nZ0vE;e6YUx|`ka#aEWwG=_2g}=nyshfxfzks{lFaWzp$Iz5dAx@v8D5Yk1M{pYoATcuf`x=yv=zs^2CM#^X2;- z_Q8(fxQzFQp3q>IgVZc?4Nm>tx_?`Q-w3f334AVF19GU5j@sYlK7TF zq0lzZ;Hnhkyqf`` z7#5DI6m$kN=CodytOlSY56>4Dx;@Rh+rYzi@Ho8qv%Pq}tUEC_XT5dSrYo)nH7g5o zT2-#J^6s%GE{;mcDmVIO`JGA+SlF9`zl*K;`Zu?~KvEba4%lgV$#C=-L;Z=BkVj7SbWO)PZc;$Ks-hYVUFXm0G&HdP5hh5A03qSt);l#;G*bc zP8Yh&uV*rtmt)0@CuKqvrp}s^_TLkxZ7s`gWQBk&al+qcdHc-v3Dko~8J0G8x}&e} zel9;N=LMC?vCDx$pB^F3#Dbq`eNb1o5*s<2GjGKpZ~frpH_BI zRKWZt4d#2_?q6bA2Q#xky!+}M*NooAcUpz0T=v~cn^b7{Ro$}M87^ch56{w6ww_^N z$%s?+3YkKhrfb2r=@TalMUhxiL~w#0Oja!H_m-Qv*Xic9@zk1t^czi!1{yW4QJT(L zPr2f&1$=(T<$wLAlw~YS#))w;M_#_MVf#Xhk*C!)bXA8RBJ)yd}gW}CUkPbqY5+r2H(sof>s+lPGN?uES!}36I@Y6=z@^AZ( z<%7RW^n5mLo@>en{A62!K8lkyCiUIex?A?L5)tzvXBA2qQ>SYzSqyk%5%=elH@j@^ zop){*^Y3g(GFYYiItEHBR?2h=Y+M#{sbkg;g3@va{k~QDgeHjMCR-i1@|{lnTKOUh zA}$ZcD_V}sitTWn+GAo%w#WO;urLm?%s!8Z(I-Bcqfarc!Q<6pWsT*UZv^vKYP*oN zCzrwfYQdk+bATj;>{)8FloAk&oZ_G-3yj+l3wn^4ljs#M>nyh#XUPP_)|TQ)tfOjn zq0ai85eZFX+py8uJ4Lg>}Z56s2oP51Q^B==GF|Psa(= zJ$)EiM}$hlbykq&q3I4{p6xA;H62n+LZAdg_Ui(Her)7Kvr+r=IQvZM@O|_dkB%lG z<&t4ckMyH;d_J8iY*6yEB}n0CCLU5&FEq4}n3sC-6oS^;lu#qUkrjuhO}Z8pmY z+<6X_G5(qn6-eK%p8ow$nJ>$Xu^Fnu##$<*I}NOw^clG{-9szFW1PPQHaPIXX^>BA zN)m#ElLOK^!d`&%z>IzJ6y&b=Y}FprlcW^q?N?1rt{Q;_I!I;E?jrb&shu+xJ0uXQGzCP{g;;{;XMjwf=T(95oRM1w%QM%O3}g@!y^ za7zd*uyDkGT#08BzF}r>Yc?FEM-k=Pj1DI28X=>2NMrUw9q#)~V1e%vh{tE&#+We8 z^fAiFaXGu3`&;~4PehQZnkZAZ?Qj15d}L$SwA-2J^psekNU4OGas%=$}%*CAk_&j^ znDSzMkMqPzWcqw>i^nhEz>Z{nkylg<(8Y(;I$Pt5$+LG#STzaF8S?KFef^Tn{iiI? zg~)GZ{A17xkh!Ef7$VhMXXLHv0f^w_J00uLGbgEM-**4w&hQr2Ubnm z(c^S8pK&aWMk@O7c0xCdoRN}rm+L0e&=Q9ILJ=Qq9z>Z5(YtuAh$;A<|HWmp!%4{+ z#gTb~gJ&I&1pFT@37<@&GGs4)+~W83qbIs;WN5u6jVlEG#H_k~=>DNH&_urNujeP4 zvm4!cyJp8Q!-0`fDUxSI3UZa0G}h*;{M$AasQ%KL{M$gO;I<+x`@V67^muyRDASZbI%md*rpGDMFib%RlbnqRtB3)Gb62(d*b+%;=;$mUtW&F_T6M1}o!#kzS9(P% zr19Jfxu^upCqCI6+yFsc;hq=C(_>QY3tvD&@DT|5vbxhl*5OFV9U4`WaZC|vfygdQ zuHf5zIz;kZ`7tFukw6>K@@P;bz!bblZ4J?tiwdi`skbLud*1#La!F6Ssad_F{a3*R z+VoUw%Fb=aymftry|NSZ3V-$l3wYt5Tm@vRUkIFZh<7 z7VH*dr155U=U{-rul>I6^E!mupt7rWUBUsdVN3|0qL2#L43}qU3f4N!zuq(lLCo9= ziiLYH{ioefz}{8djoCw|oa*FnFv;op8A#!CJ&}zStd%ceYHbi@e%&lYJJ-rIJk~_5 zf+r%0>_eQjpAw||AnN(H>1dQD0`#TO3me{H;Qmbu=A6MrtJKw3?-Snv$*zQ5_&Hu) zpW(PwopcH#(+A`8Z_lh{Q_*{5QCbCaS>(j9_xy@Ym$#=IqR1S9Ea&cpzM(7p`BgOy z9XWj)sQ0nRzCr?UJ$`yC$k^ZV`dueg4O6LrHa=WDR!lIU#bKW#kdbyRbjB9}?PoX@ zWWRE#=5pb3<&q zr|-vf?4&RPWCOVK|7@7lHTV+N$bpJ<8?1W(U#-r<{=SHcv<(S_&;4Xg3cZ5Tex|Zk zt}!r}1^T?qyQ3fU5Vrj^jWF9o1epwG_frO9lwLSxVa#F+4hJZchUAH?fJsW(eIwXI zn4fbRp}oSB<65BYN(@1KiJOxXIpe+`M@ZqgP09nX0w&;(ghIqKjR8_Via;&*(LY4t zEK(<909a!jbp-PoOkaLq&(g>Oz3Q!gLe zy;N#ME}0XkwI$p_ok2x50#yTwb?B$p9CWrKM9!kU^HP{rl9p`H>0s$gpvCL^4uglf zDK)%%orz1w>>X#Tbt29vxquyBd7|~YQooF}ucNr4E%;XiZj`?eIV*zVj3-18nr+!o zy%39vrM8{;ANp|D`Qceod3ihvl8W-4Qa^|+1eHe+UgZ=umJxmKB)9&|b(~UgmnlT( z)5u$2Cvq6pTw1CEY=(;pgKy*&{uf8CTf=5fyEsIur#Q_9?JXP#bxVOx-87WTG56sK znbVT=oiANB61z^b3&6PRnD62ixfIa7jEvgwd+@397y^~_1&h@;SeCzLE3<9IDtgz} ztJvWIKEGPCdWN%x#T%&6XG3PFpVuo$P$!!#n^d)m>L%cR*CL7(n#!8N6@$Ukd$w-{6>ALeqY@U&w~y1AiD4QhqV@A()tuL(B2~BgP7O) z3xg(1@B~ZpfIu*uq$>Y~QFeZ2oNtqkwvJB*_^u~^mp<#!rutW&C`NRD!xxB54_VnU z2)_+w0AzbxUwr%6Ur!0G1r(y>zsdi_aG0|SBDJX&$Hge{?jWRQYELYv`VO7J zK@FCCbUa4= zP;`4>H4}-@VX$+1MXSBwxMcp{`foH@>7ksOQQP%VODv$Vh;Oy z(S8%#`Dwx2rxsFzcv8a~Q-FVOFG$}ZoLU9^&EF#iA{;h8vTTLdmuQ@MNMcxFXP6Ro zcV59%}Yz$bVie) z1LV<%zpluKmqkWcLfy}Z;NCc9e#m$y8GhMG&_BaDz315uTw46dxGFV$nU*o`30>49 z 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 literal 0 HcmV?d00001 diff --git a/app_auto_backup/static/description/testconnection.png b/app_auto_backup/static/description/testconnection.png new file mode 100644 index 0000000000000000000000000000000000000000..e6d5eea82f068ba9fa61dd3369656bb67c192e73 GIT binary patch literal 4479 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 NUG14_k@DMs{{WE|GK~NL literal 0 HcmV?d00001 diff --git a/app_auto_backup/static/description/testconnectionfailed.png b/app_auto_backup/static/description/testconnectionfailed.png new file mode 100644 index 0000000000000000000000000000000000000000..bdbeb81d5e45eab09ae987ca144cfa3aa4875acf GIT binary patch literal 4139 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 DCXN$s literal 0 HcmV?d00001 diff --git a/app_auto_backup/views/backup_view.xml b/app_auto_backup/views/backup_view.xml new file mode 100644 index 00000000..8317efd3 --- /dev/null +++ b/app_auto_backup/views/backup_view.xml @@ -0,0 +1,113 @@ + + + + db.backup.form + db.backup + form + +

+ +
+
+ + + + + + + + + + + + + + + +
+ Warning: + Use SFTP with caution! This writes files to external servers under the path you specify. +
+ + + + + + + + + + +
+ +