diff --git a/docs/docs/start/backup.md b/docs/docs/start/backup.md index fb6ae5f9c9..aa52f5d6d4 100644 --- a/docs/docs/start/backup.md +++ b/docs/docs/start/backup.md @@ -25,6 +25,7 @@ The following configuration options are available for backup: {{ configsetting("INVENTREE_BACKUP_SEND_EMAIL") }} If True, an email is sent to the site admin when an error occurs during a backup or restore procedure. | {{ configsetting("INVENTREE_BACKUP_EMAIL_PREFIX") }} Prefix for the subject line of backup-related emails. | {{ configsetting("INVENTREE_BACKUP_GPG_RECIPIENT") }} Specify GPG recipient if using encryption for backups. | +{{ configsetting("INVENTREE_BACKUP_KEEP_COUNT") }} Number of historical backup files to keep (when using the `--clean` flag). | {{ configsetting("INVENTREE_BACKUP_DATE_FORMAT") }} Date format string used to format timestamps in backup filenames. | {{ configsetting("INVENTREE_BACKUP_DATABASE_FILENAME_TEMPLATE") }} Template string used to generate database backup filenames. {{ configsetting("INVENTREE_BACKUP_MEDIA_FILENAME_TEMPLATE") }} Template string used to generate media backup filenames. | diff --git a/src/backend/InvenTree/InvenTree/backup.py b/src/backend/InvenTree/InvenTree/backup.py index bb08308124..1bb9b40aeb 100644 --- a/src/backend/InvenTree/InvenTree/backup.py +++ b/src/backend/InvenTree/InvenTree/backup.py @@ -122,6 +122,16 @@ def backup_date_format() -> str: ) +def backup_keep_count() -> int: + """Return the number of backup files to keep.""" + return InvenTree.config.get_setting( + 'INVENTREE_BACKUP_KEEP_COUNT', + 'backup_keep_count', + default_value=10, + typecast=int, + ) + + def backup_filename_template() -> str: """Return the filename template for database backups.""" return InvenTree.config.get_setting( diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py index fef5fb819e..3e0445dbb3 100644 --- a/src/backend/InvenTree/InvenTree/settings.py +++ b/src/backend/InvenTree/InvenTree/settings.py @@ -270,6 +270,9 @@ DBBACKUP_DATE_FORMAT = InvenTree.backup.backup_date_format() DBBACKUP_FILENAME_TEMPLATE = InvenTree.backup.backup_filename_template() DBBACKUP_MEDIA_FILENAME_TEMPLATE = InvenTree.backup.backup_media_filename_template() +# How many backup files to keep +DBBACKUP_CLEANUP_KEEP = InvenTree.backup.backup_keep_count() + DBBACKUP_GPG_RECIPIENT = InvenTree.backup.backup_gpg_recipient() DBBACKUP_SEND_EMAIL = InvenTree.backup.backup_email_on_error()