Bonjour à tous,
Ces derniers jours, je me suis penché sur l’automatisation de la vérification de mes sauvegardes à savoir
- On s’assure que le fichier est bien présent
- On le décompresse et on s’assure que la décompression n’a posé problème
Tout ceci fonctionne est réaliser via un script python et fonctionne bien lorsque je le lance manuellement
En revanche, avec crontab (je voudrais que le check soit fait toutes les semaines au moins), le script ne semble pas aller au bout.
Pour comprendre, j’ai essayé d’activer les logs de crontab en m’appuyant sur cette doc
Cependant le fichier /var/log/cron.log ne contient pas beaucoup d’information si ce n’est que la tâche a démarrée
J’ai aussi pensé à ajouter des "logs" dans mon script
def check_archives_integrity(files_list):
"""
try extract all files from files_list
:param list files_list: list of archive to check
:return: list of archive that failed to extract
"""
unzip_errors = []
for root, file_name in files_list:
file_path = os.path.join(root, file_name)
with open(r"/home/DonK/log.txt", "a") as fs:
fs.write("\n{}".format(file_path))
try:
temp_dir = os.path.join(root, "temp")
if not os.path.isdir(temp_dir):
os.mkdir(temp_dir)
Archive(file_path).extractall(temp_dir)
except PatoolError as er:
fs.write("\n{}".format(er))
unzip_errors.append(file_path)
fs.write("\nend")
D’après le log, le code semble bloqué au premier fichier de la liste (il n’y a qu’un nom de fichier dedans)
Le répertoire temp est bien créé mais je ne vois jamais le fichier décompressé dedans
Manuellement , tout se passe, le log se rempli normalement et je vois bien les fichiers décompressés au fur et à mesure
Une idée de la cause ou de comment comprendre ?