Dans la lignée de l’article précédent, une fois la sauvegarde faite, je souhaite être informé de la fin de la sauvegarde et de la liste des fichiers à jour. J’ai rajouté un bout de script en python qui liste les fichiers de la sauvegarde journalière et envoie le tout à Telegram.
#!/usr/bin/python3 # coding: utf-8 import requests import os import time path = '/media/backup/' bot = '' chatID = '' class init(object): """ permet d'envoyer les messages sur Telegram - bot : l'identifiant du bot - chatID : identifiant du chat - send() : envoi un message à Telegram """ def __init__(self, bot, chatID): """ charge la configuration """ self.bot = bot self.chatID = chatID def send(self, message): """ envoi le message au bot """ url = 'https://api.telegram.org/bot' + self.bot + '/sendMessage?chat_id=' + self.chatID + '&parse_mode=Markdown&text=' + message toSend = requests.get(url) return toSend.json() if __name__ == '__main__': message = init(bot, chatID) search_dir = path os.chdir(search_dir) # on récupère les fichiers files = filter(os.path.isfile, os.listdir(search_dir)) files = [os.path.join(search_dir, f) for f in files] files.sort(key=lambda x: os.path.getmtime(x)) jour = 60*60*24 # on enlève les plus de 1 jour. files = [f for f in files if os.path.getmtime(f) > time.time()-jour] # on envoie le message message.send('liste des fichiers de backup d\'aujourd\'hui'+' \n'.join(files))
Il envoie les messages toutes les nuits à 2h, via le cron