File: //proc/self/root/lib/python2.7/site-packages/lap/postgres_check_dump.py
import datetime
import time
def __run__(params):
logfile = '/var/log/dbas/postgresql/dump.log'
now = time.localtime()
gracetime = int(params.get('gracetime'))
if now.tm_hour < gracetime:
return [0, 'Backup em execucao - checagem livre das 0h as %dh' % gracetime]
summary = None
for line in open(logfile):
if line.startswith('BACKUP SUMMARY'):
summary = line
today = datetime.datetime.now()
date_pattern = today.strftime("%m/%d/%Y")
if date_pattern not in summary:
return [2, 'CRITICAL: backup nao encontrado']
summary = summary[:-1]
summary = summary.split(' ')
server = summary[6]
dbs = int(summary[9])
sysroles = summary[14]
if server == "OK" and dbs == 0 and sysroles == "OK":
return [0, "Backup OK"]
else:
return [2, "Backup incompleto Server: '%s' / Databases: '%s' / System Roles: '%s'" % (server, dbs, sysroles)]