78 lines
3.8 KiB
Python
78 lines
3.8 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
|
|
###########################
|
|
# Author: Rubenb #
|
|
# Fecha: 04/01/2024 #
|
|
###########################
|
|
|
|
import subprocess
|
|
import os
|
|
import sys
|
|
from datetime import datetime
|
|
|
|
def verificar_backup():
|
|
# Lista de nombres de archivos específicos
|
|
nombres_archivos = ["madrid", "holland"]
|
|
# Variable fecha actual
|
|
fecha_actual = datetime.now().strftime('%Y%m%d')
|
|
# Variable directorio backups
|
|
directorio_backup = "/srv/tftp/backup"
|
|
|
|
# archivos backup que deberian existir
|
|
archivos_backup_deberian_existir = [nombre + '-backup-' + fecha_actual + '.backup' for nombre in nombres_archivos if nombre + '-backup-' + fecha_actual + '.backup']
|
|
|
|
# debug
|
|
#print("archivosQueDeberianExistir:", archivos_backup_deberian_existir) # debug
|
|
|
|
# archivos backupscript que deberian existir
|
|
archivos_backupscript_deberian_existir = [nombre + '-backupscript-' + fecha_actual + '.rsc' for nombre in nombres_archivos if nombre + '-backupscript-' + fecha_actual + '.rsc']
|
|
|
|
# debug
|
|
#print("archivosQueDeberianExistir:", archivos_backupscript_deberian_existir) # debug
|
|
|
|
# lista concatenada archivos_deberian_existir backup + backupscript
|
|
lista_concatenada_archivos_deberian_existir = archivos_backup_deberian_existir + archivos_backupscript_deberian_existir
|
|
|
|
# archivos backup encontrados / existentes
|
|
archivos_backup_encontrados = [nombre + '-backup-' + fecha_actual + '.backup' for nombre in nombres_archivos if nombre + '-backup-' + fecha_actual + '.backup' in os.listdir(directorio_backup)]
|
|
|
|
# debug
|
|
#print("archivosEncontrados:", archivos_backup_encontrados) # debug
|
|
|
|
# archivos backupscript encontrados / existentes
|
|
archivos_backupscript_encontrados = [nombre + '-backupscript-' + fecha_actual + '.rsc' for nombre in nombres_archivos if nombre + '-backupscript-' + fecha_actual + '.rsc' in os.listdir(directorio_backup)]
|
|
|
|
# debug
|
|
#print("archivosEncontrados:", archivos_backupscript_encontrados) # debug
|
|
|
|
# lista concatenada archivos_encontrados backup + backupscript
|
|
lista_concatenada_archivos_encontrados = archivos_backup_encontrados + archivos_backupscript_encontrados
|
|
|
|
# archivos backup no encontrados / existentes
|
|
archivos_backup_no_encontrados = [nombre + '-backup-' + fecha_actual + '.backup' for nombre in nombres_archivos if nombre + '-backup-' + fecha_actual + '.backup' not in os.listdir(directorio_backup)]
|
|
|
|
# debug
|
|
#print("archivosbackupNoEncontrados:", archivos_backup_no_encontrados) # debug
|
|
|
|
# archivos backupscript no encontrados / existentes
|
|
archivos_backupscript_no_encontrados = [nombre + '-backupscript-' + fecha_actual + '.rsc' for nombre in nombres_archivos if nombre + '-backupscript-' + fecha_actual + '.rsc' not in os.listdir(directorio_backup)]
|
|
|
|
# debug
|
|
#print("archivosbackupscriptNoEncontrados:", archivos_backupscript_no_encontrados) # debug
|
|
|
|
# lista concatenada archivos_no_encontrados backup + backupscript
|
|
lista_concatenada_archivos_no_encontrados = archivos_backup_no_encontrados + archivos_backupscript_no_encontrados
|
|
|
|
# lógica para verificar la existencia de archivos específicos para la fecha de hoy
|
|
if lista_concatenada_archivos_deberian_existir != lista_concatenada_archivos_encontrados:
|
|
mensaje = f"No se encontraron archivos de backup para la fecha {fecha_actual} o falta alguno , archivos encontrados {lista_concatenada_archivos_encontrados} , archivos que deberian existir {lista_concatenada_archivos_deberian_existir} , Archivos no encontrados: {lista_concatenada_archivos_no_encontrados} , Revisar backups en /srv/tftp/backup ."
|
|
print("CRITICAL:", mensaje)
|
|
sys.exit(2) # Critical
|
|
else:
|
|
mensaje = f"Archivos de backup encontrados {', '.join(lista_concatenada_archivos_encontrados)} ."
|
|
print("OK:", mensaje)
|
|
sys.exit(0) # OK
|
|
|
|
verificar_backup()
|