- {{ $strings.LabelBackupsMaxBackupSize }} info
+ {{ $strings.LabelBackupsMaxBackupSize }} (0 for unlimited) info
@@ -170,7 +170,7 @@ export default {
})
},
updateBackupsSettings() {
- if (isNaN(this.maxBackupSize) || this.maxBackupSize <= 0) {
+ if (isNaN(this.maxBackupSize) || this.maxBackupSize < 0) {
this.$toast.error('Invalid maximum backup size')
return
}
@@ -200,10 +200,9 @@ export default {
},
initServerSettings() {
this.newServerSettings = this.serverSettings ? { ...this.serverSettings } : {}
-
this.backupsToKeep = this.newServerSettings.backupsToKeep || 2
this.enableBackups = !!this.newServerSettings.backupSchedule
- this.maxBackupSize = this.newServerSettings.maxBackupSize || 1
+ this.maxBackupSize = this.newServerSettings.maxBackupSize || 0
this.cronExpression = this.newServerSettings.backupSchedule || '30 1 * * *'
}
},
diff --git a/server/managers/BackupManager.js b/server/managers/BackupManager.js
index 88772c58..13493952 100644
--- a/server/managers/BackupManager.js
+++ b/server/managers/BackupManager.js
@@ -42,7 +42,7 @@ class BackupManager {
}
get maxBackupSize() {
- return global.ServerSettings.maxBackupSize || 1
+ return global.ServerSettings.maxBackupSize || Infinity
}
async init() {
@@ -419,14 +419,16 @@ class BackupManager {
reject(err)
})
archive.on('progress', ({ fs: fsobj }) => {
- const maxBackupSizeInBytes = this.maxBackupSize * 1000 * 1000 * 1000
- if (fsobj.processedBytes > maxBackupSizeInBytes) {
- Logger.error(`[BackupManager] Archiver is too large - aborting to prevent endless loop, Bytes Processed: ${fsobj.processedBytes}`)
- archive.abort()
- setTimeout(() => {
- this.removeBackup(backup)
- output.destroy('Backup too large') // Promise is reject in write stream error evt
- }, 500)
+ if (this.maxBackupSize !== Infinity) {
+ const maxBackupSizeInBytes = this.maxBackupSize * 1000 * 1000 * 1000
+ if (fsobj.processedBytes > maxBackupSizeInBytes) {
+ Logger.error(`[BackupManager] Archiver is too large - aborting to prevent endless loop, Bytes Processed: ${fsobj.processedBytes}`)
+ archive.abort()
+ setTimeout(() => {
+ this.removeBackup(backup)
+ output.destroy('Backup too large') // Promise is reject in write stream error evt
+ }, 500)
+ }
}
})