diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml
index 5ec9ae549..cbba8f15d 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 0342e3999..00d183208 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 a3bfba621..722e536ca 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