Fix old backups counting

This commit is contained in:
daniele 2023-06-03 16:09:34 +02:00
parent 809545b172
commit 252617e4f2
Signed by: fuxino
GPG Key ID: 981A2B2A3BBF5514

View File

@ -145,7 +145,7 @@ class Backup:
self.host = host self.host = host
self.username = username self.username = username
self.ssh_keyfile = ssh_keyfile self.ssh_keyfile = ssh_keyfile
self.remove_before = remove_before self._remove_before = remove_before
self._last_backup = '' self._last_backup = ''
self._server = '' self._server = ''
self._output_dir = '' self._output_dir = ''
@ -217,7 +217,11 @@ class Backup:
dirs = stdout.read().decode('utf-8').strip().split('\n') dirs = stdout.read().decode('utf-8').strip().split('\n')
n_backup = len(dirs) - 1 n_backup = len(dirs)
if not self._remove_before:
n_backup -= 1
count = 0 count = 0
if n_backup > self.keep: if n_backup > self.keep:
@ -240,10 +244,11 @@ class Backup:
except FileNotFoundError: except FileNotFoundError:
return return
if dirs.count('last_backup') > 0: n_backup = len(dirs)
dirs.remove('last_backup')
if not self._remove_before:
n_backup -= 1
n_backup = len(dirs) - 1
count = 0 count = 0
if n_backup > self.keep: if n_backup > self.keep:
@ -415,7 +420,7 @@ class Backup:
fp.write(e) fp.write(e)
fp.write('\n') fp.write('\n')
if self.keep != -1 and self.remove_before: if self.keep != -1 and self._remove_before:
self.remove_old_backups() self.remove_old_backups()
logger.info('Copying files. This may take a long time...') logger.info('Copying files. This may take a long time...')
@ -453,7 +458,7 @@ class Backup:
logger.info('rsync: %s', output[-3]) logger.info('rsync: %s', output[-3])
logger.info('rsync: %s', output[-2]) logger.info('rsync: %s', output[-2])
if self.keep != -1 and not self.remove_before: if self.keep != -1 and not self._remove_before:
self.remove_old_backups() self.remove_old_backups()
os.remove(self._inputs_path) os.remove(self._inputs_path)