Auto Backup Fs File

auto_backup_fs_file
REPOSITORY
REPOSITORYOCA/server-tools
GIT
GIThttps://github.com/OCA/server-tools.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/server-tools/tree/17.0/auto_backup_fs_file
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYTools
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Binhex
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Binhex
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, r.perez
WEBSITE
WEBSITEhttps://github.com/OCA/server-tools
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:01
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/server-env:
    - server_environment
OCA/server-tools:
    - auto_backup
OCA/storage:
    - fs_file
    - fs_attachment
    - fs_storage
odoo/odoo:
    - mail
    - base
    - base_setup
    - web
    - bus
    - web_tour
    - base_sparse_field
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES cryptography
paramiko<4.0.0
pysftp
fsspec>=2025.3.0
python_slugify
fsspec>=2024.5.0
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module enhances the database backup functionality in Odoo by introducing support for storing backups as files using the `fsspec` library. It is designed to address the need for reliable and flexible backup solutions, enabling businesses to safeguard their data by storing backups on various filesystems, including cloud storage providers, network drives, and local secure storage.

By integrating with the `fs_file` addon from the OCA storage repository, this module allows users to automate the backup process and store the resulting files in a configured filesystem. It provides an easy-to-use interface for configuring backup methods, managing stored backups, and ensuring data integrity for disaster recovery or multi-environment setups.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
db_backup_fs_file_form_view db.backup.fs.file.form.view db.backup.fs.file form New
db_backup_fs_file_search_view db.backup.fs.file.search.view db.backup.fs.file search New
db_backup_fs_file_tree_view db.backup.fs.file.tree.view db.backup.fs.file tree New
view_backup_conf_form db.backup xpath Inherits auto_backup.view_backup_conf_form
view_backup_conf_tree db.backup field Inherits auto_backup.view_backup_conf_tree
Models touched (2)

New fields (4)
  • fs_file_backup_count Integer
    compute='_compute_fs_file_backup_count'
  • fs_file_backup_ids One2many → db.backup.fs.file
    comodel_name='db.backup.fs.file' inverse_name='db_backup_id' string='Fs File Backups'
  • method Selection
    ondelete={'fs_file': 'cascade'} selection_add=[('fs_file', 'Fs File')]
  • responsible_id Many2one → res.users
    help='User to be notified.' args: 'res.users'
Public methods (3)
  • action_backup(self)
    Override the action_backup method to add the fs_file method.
  • action_open_fs_backups_view(self)
  • cleanup(self)
    Extend cleanup to fs_file backups.

New fields (3)
  • db_backup_id Many2one → db.backup
    required=True string='DB Backup' args: 'db.backup'
  • is_expired Boolean
    compute='_compute_is_expired' help='Indicates whether the backup has exceeded its storage time.'
  • name Char
    required=True args: 'Backup Filename'
Public methods (2)
  • fs_storage(self)
    @api.model
  • get_fs_storage_filename(self)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/server-tools
PULL REQUEST
PULL REQUEST[18.0] [MIG] auto_backup_fs_file (#3619)
STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/server-tools
PULL REQUEST
PULL REQUEST[16.0] [BACKPORT] [MIG] auto_backup_fs_file (#3621)