mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2024-11-26 02:57:04 +00:00
add an option to disable backups
This commit is contained in:
parent
cdd3a64638
commit
9ca116d545
@ -24,6 +24,10 @@ def backup_status(env):
|
|||||||
config = get_backup_config(env)
|
config = get_backup_config(env)
|
||||||
now = datetime.datetime.now(dateutil.tz.tzlocal())
|
now = datetime.datetime.now(dateutil.tz.tzlocal())
|
||||||
|
|
||||||
|
# Are backups dissbled?
|
||||||
|
if config["target"] == "off":
|
||||||
|
return { }
|
||||||
|
|
||||||
backups = { }
|
backups = { }
|
||||||
backup_cache_dir = os.path.join(backup_root, 'cache')
|
backup_cache_dir = os.path.join(backup_root, 'cache')
|
||||||
|
|
||||||
@ -174,6 +178,10 @@ def perform_backup(full_backup):
|
|||||||
backup_cache_dir = os.path.join(backup_root, 'cache')
|
backup_cache_dir = os.path.join(backup_root, 'cache')
|
||||||
backup_dir = os.path.join(backup_root, 'encrypted')
|
backup_dir = os.path.join(backup_root, 'encrypted')
|
||||||
|
|
||||||
|
# Are backups dissbled?
|
||||||
|
if config["target"] == "off":
|
||||||
|
return
|
||||||
|
|
||||||
# In an older version of this script, duplicity was called
|
# In an older version of this script, duplicity was called
|
||||||
# such that it did not encrypt the backups it created (in
|
# such that it did not encrypt the backups it created (in
|
||||||
# backup/duplicity), and instead openssl was called separately
|
# backup/duplicity), and instead openssl was called separately
|
||||||
@ -357,8 +365,8 @@ def backup_set_custom(env, target, target_user, target_pass, min_age):
|
|||||||
|
|
||||||
# Validate.
|
# Validate.
|
||||||
try:
|
try:
|
||||||
if config["target"] != "local":
|
if config["target"] not in ("off", "local"):
|
||||||
# "local" isn't supported by the following function, which expects a full url in the target key,
|
# these aren't supported by the following function, which expects a full url in the target key,
|
||||||
# which is what is there except when loading the config prior to saving
|
# which is what is there except when loading the config prior to saving
|
||||||
list_target_files(config)
|
list_target_files(config)
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
<label for="backup-target-type" class="col-sm-2 control-label">Backup to:</label>
|
<label for="backup-target-type" class="col-sm-2 control-label">Backup to:</label>
|
||||||
<div class="col-sm-2">
|
<div class="col-sm-2">
|
||||||
<select class="form-control" rows="1" id="backup-target-type" onchange="toggle_form()">
|
<select class="form-control" rows="1" id="backup-target-type" onchange="toggle_form()">
|
||||||
|
<option value="off">Nowhere (Disable Backups)</option>
|
||||||
<option value="local">{{hostname}}</option>
|
<option value="local">{{hostname}}</option>
|
||||||
<option value="s3">Amazon S3</option>
|
<option value="s3">Amazon S3</option>
|
||||||
</select>
|
</select>
|
||||||
@ -29,7 +30,7 @@
|
|||||||
<div>Backups are stored in an Amazon Web Services S3 bucket. You must have an AWS account already.</div>
|
<div>Backups are stored in an Amazon Web Services S3 bucket. You must have an AWS account already.</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group backup-target-local backup-target-s3">
|
||||||
<label for="min-age" class="col-sm-2 control-label">How many days should backups be kept?</label>
|
<label for="min-age" class="col-sm-2 control-label">How many days should backups be kept?</label>
|
||||||
<div class="col-sm-8">
|
<div class="col-sm-8">
|
||||||
<input type="number" class="form-control" rows="1" id="min-age">
|
<input type="number" class="form-control" rows="1" id="min-age">
|
||||||
@ -122,7 +123,11 @@ function show_system_backup() {
|
|||||||
$('#backup-status tbody').html("");
|
$('#backup-status tbody').html("");
|
||||||
var total_disk_size = 0;
|
var total_disk_size = 0;
|
||||||
|
|
||||||
if (r.backups.length == 0) {
|
if (typeof r.backups == "undefined") {
|
||||||
|
var tr = $('<tr><td colspan="3">Backups are turned off.</td></tr>');
|
||||||
|
$('#backup-status tbody').append(tr);
|
||||||
|
return;
|
||||||
|
} else if (r.backups.length == 0) {
|
||||||
var tr = $('<tr><td colspan="3">No backups have been made yet.</td></tr>');
|
var tr = $('<tr><td colspan="3">No backups have been made yet.</td></tr>');
|
||||||
$('#backup-status tbody').append(tr);
|
$('#backup-status tbody').append(tr);
|
||||||
}
|
}
|
||||||
@ -157,6 +162,8 @@ function show_custom_backup() {
|
|||||||
function(r) {
|
function(r) {
|
||||||
if (r.target == "file://" + r.file_target_directory) {
|
if (r.target == "file://" + r.file_target_directory) {
|
||||||
$("#backup-target-type").val("local");
|
$("#backup-target-type").val("local");
|
||||||
|
} else if (r.target == "off") {
|
||||||
|
$("#backup-target-type").val("off");
|
||||||
} else if (r.target.substring(0, 5) == "s3://") {
|
} else if (r.target.substring(0, 5) == "s3://") {
|
||||||
$("#backup-target-type").val("s3");
|
$("#backup-target-type").val("s3");
|
||||||
var hostpath = r.target.substring(5).split('/');
|
var hostpath = r.target.substring(5).split('/');
|
||||||
@ -179,7 +186,7 @@ function set_custom_backup() {
|
|||||||
var target_pass = $("#backup-target-pass").val();
|
var target_pass = $("#backup-target-pass").val();
|
||||||
|
|
||||||
var target;
|
var target;
|
||||||
if (target_type == "local")
|
if (target_type == "local" || target_type == "off")
|
||||||
target = target_type;
|
target = target_type;
|
||||||
else if (target_type == "s3")
|
else if (target_type == "s3")
|
||||||
target = "s3://" + $("#backup-target-s3-host").val() + "/" + $("#backup-target-s3-path").val();
|
target = "s3://" + $("#backup-target-s3-host").val() + "/" + $("#backup-target-s3-path").val();
|
||||||
@ -196,7 +203,7 @@ function set_custom_backup() {
|
|||||||
},
|
},
|
||||||
function(r) {
|
function(r) {
|
||||||
// Responses are multiple lines of pre-formatted text.
|
// Responses are multiple lines of pre-formatted text.
|
||||||
show_modal_error("Backup configuration", $("<pre/>").text(r));
|
show_modal_error("Backup configuration", $("<pre/>").text(r), function() { show_system_backup(); }); // refresh after modal
|
||||||
},
|
},
|
||||||
function(r) {
|
function(r) {
|
||||||
show_modal_error("Backup configuration (error)", r);
|
show_modal_error("Backup configuration (error)", r);
|
||||||
|
Loading…
Reference in New Issue
Block a user