1
0
mirror of https://github.com/mail-in-a-box/mailinabox.git synced 2024-11-23 02:27:05 +00:00

change to only do full backup on weekends

This commit is contained in:
Ted To 2024-08-13 09:07:39 -04:00
parent 548df8a6ad
commit e6ac40283d

View File

@ -9,6 +9,7 @@
import os, os.path, re, datetime, sys import os, os.path, re, datetime, sys
import dateutil.parser, dateutil.relativedelta, dateutil.tz import dateutil.parser, dateutil.relativedelta, dateutil.tz
from datetime import date
import rtyaml import rtyaml
from exclusiveprocess import Lock from exclusiveprocess import Lock
@ -262,6 +263,9 @@ def get_target_type(config):
def perform_backup(full_backup): def perform_backup(full_backup):
env = load_environment() env = load_environment()
# Check if day of week is a weekend day
weekend = date.today().weekday()>=5
# Create an global exclusive lock so that the backup script # Create an global exclusive lock so that the backup script
# cannot be run more than one. # cannot be run more than one.
Lock(die=True).forever() Lock(die=True).forever()
@ -276,11 +280,11 @@ def perform_backup(full_backup):
return return
# On the first run, always do a full backup. Incremental # On the first run, always do a full backup. Incremental
# will fail. Otherwise do a full backup when the size of # will fail. Otherwise do a full backup on weekends when
# the increments since the most recent full backup are # the size of the increments since the most recent full
# large. # backup are large.
try: try:
full_backup = full_backup or should_force_full(config, env) full_backup = (full_backup and weekend) or should_force_full(config, env)
except Exception as e: except Exception as e:
# This was the first call to duplicity, and there might # This was the first call to duplicity, and there might
# be an error already. # be an error already.