def check():
""" Checks whether a new backup should be created. Creates one if needed as well. """
backup_settings = BackupSettings.get_solo()
# Skip when backups disabled.
if not backup_settings.daily_backup:
return
# Postpone when we already created a backup today.
if backup_settings.latest_backup and backup_settings.latest_backup.date() == timezone.now().date():
return
# Timezone magic to make sure we select and combine the CURRENT day, in the user's timezone.
next_backup_timestamp = timezone.make_aware(timezone.datetime.combine(
timezone.localtime(timezone.now()), backup_settings.backup_time
))
if backup_settings.latest_backup and timezone.now() < next_backup_timestamp:
# Postpone when the user's backup time preference has not been passed yet.
return
# For backend logging in Supervisor.
print(' - Creating new backup.')
create()
评论列表
文章目录