diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index 5ec9ae549ed..cbba8f15dc9 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -1008,6 +1008,7 @@ en: github_client_id: "Client id for Github authentication, registered at https://github.com/settings/applications" github_client_secret: "Client secret for Github authentication, registered at https://github.com/settings/applications" + readonly_mode_during_backup: "Enable read only mode while taking a backup" allow_restore: "Allow restore, which can replace ALL site data! Leave false unless you plan to restore a backup" maximum_backups: "The maximum amount of backups to keep on disk. Older backups are automatically deleted" automatic_backups_enabled: "Run automatic backups as defined in backup frequency" diff --git a/config/site_settings.yml b/config/site_settings.yml index 0342e39991b..00d1832083d 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -970,6 +970,8 @@ legal: default: '' backups: + readonly_mode_during_backup: + default: true allow_restore: default: false maximum_backups: diff --git a/lib/backup_restore/backuper.rb b/lib/backup_restore/backuper.rb index a3bfba621e5..722e536ca08 100644 --- a/lib/backup_restore/backuper.rb +++ b/lib/backup_restore/backuper.rb @@ -89,7 +89,7 @@ module BackupRestore @archive_directory = File.join(Rails.root, "public", "backups", @current_db) @archive_basename = File.join(@archive_directory, "#{SiteSetting.title.parameterize}-#{@timestamp}") @logs = [] - @readonly_mode_was_enabled = Discourse.readonly_mode? + @readonly_mode_was_enabled = Discourse.readonly_mode? || !SiteSetting.readonly_mode_during_backup end def listen_for_shutdown_signal