bundlewrap/bundles/backup-client/files/check_backup_last_run

39 lines
908 B
Python

#!/usr/bin/env python3
from os.path import getmtime, isfile
from sys import exit
from time import time
statusfile = '/var/tmp/backup.monitoring'
if not isfile(statusfile):
print('Status file not found')
exit(3)
mtime = getmtime(statusfile)
now = time()
if now-mtime > 60*60*24*2:
print('Status file is older than 2 days!')
exit(3)
with open(statusfile, 'r') as f:
status = f.read().split()
if status[0] == 'ok':
print('OK')
exit(0)
elif status[0] == 'rsync_error':
print('rsync produced some errors, exit codes were: {}'.format(
', '.join(status[1:])
))
exit(2)
elif status[0] == 'hook':
print('run-parts /etc/backup-pre-hook.d failed with exit code {}'.format(status[1]))
exit(2)
elif status[0] == 'abort_no_key':
print('no ssh key found in /etc/backup.priv!')
exit(1)
else:
# garbage in file
print(' '.join(status))
exit(3)