Projet

Général

Profil

Anomalie #3725

Check backup sympa absent

Ajouté par Christian P. Momon il y a presque 5 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Christian P. Momon
Catégorie:
-
Début:
31/05/2019
Echéance:
% réalisé:

0%

Temps estimé:

Description

Ce vendredi 31 mai 2019, Chatonic nous dit :

10:49 < chatonic[1]> Successfully rescheduled check for object 'icinga2.cluster.chapril.org!Checking all backup repos are ok '.

Pas de processus check_backup actif sur icinga2.

Le fichier de log icinga2:/var/log/check_backup.log fini par :

========================================================================
                           New backup check
========================================================================
vendredi 31 mai 2019, 04:00:01 (UTC+0200)

==  Checking /srv/backups//admin.cluster.chapril.org
vendredi 31 mai 2019, 04:00:01 (UTC+0200)

==  Checking /srv/backups//bastion.cluster.chapril.org
vendredi 31 mai 2019, 04:17:06 (UTC+0200)

==  Checking /srv/backups//dns.cluster.chapril.org
vendredi 31 mai 2019, 04:19:28 (UTC+0200)

==  Checking /srv/backups//icinga2.cluster.chapril.org
vendredi 31 mai 2019, 04:21:28 (UTC+0200)

==  Checking /srv/backups//lamp.cluster.chapril.org
vendredi 31 mai 2019, 04:24:44 (UTC+0200)

==  Checking /srv/backups//libreoffice.cluster.chapril.org
vendredi 31 mai 2019, 04:26:49 (UTC+0200)

==  Checking /srv/backups//mail.cluster.chapril.org
vendredi 31 mai 2019, 04:28:16 (UTC+0200)

==  Checking /srv/backups//pad.cluster.chapril.org
vendredi 31 mai 2019, 04:30:28 (UTC+0200)

==  Checking /srv/backups//pouet.cluster.chapril.org
vendredi 31 mai 2019, 04:33:05 (UTC+0200)

Donc il s'est arrêté avant de faire le check pour la vm sympa.

Historique

#1

Mis à jour par Christian P. Momon il y a presque 5 ans

  • Statut changé de Nouveau à Résolu
  • Assigné à mis à Christian P. Momon

J'ai relancé manuellement le borg check. Ça passe.

Je relance le check global inspiré du cron : su - backup -c "bash /srv/bin/check_backup.sh".

Cette fois ci, bien passé :

========================================================================
                           New backup check
========================================================================
vendredi 31 mai 2019, 11:17:41 (UTC+0200)

==  Checking /srv/backups//admin.cluster.chapril.org
vendredi 31 mai 2019, 11:17:41 (UTC+0200)

==  Checking /srv/backups//bastion.cluster.chapril.org
vendredi 31 mai 2019, 11:24:31 (UTC+0200)

==  Checking /srv/backups//dns.cluster.chapril.org
vendredi 31 mai 2019, 11:25:41 (UTC+0200)

==  Checking /srv/backups//icinga2.cluster.chapril.org
vendredi 31 mai 2019, 11:26:53 (UTC+0200)

==  Checking /srv/backups//lamp.cluster.chapril.org
vendredi 31 mai 2019, 11:28:39 (UTC+0200)

==  Checking /srv/backups//libreoffice.cluster.chapril.org
vendredi 31 mai 2019, 11:29:49 (UTC+0200)

==  Checking /srv/backups//mail.cluster.chapril.org
vendredi 31 mai 2019, 11:30:40 (UTC+0200)

==  Checking /srv/backups//pad.cluster.chapril.org
vendredi 31 mai 2019, 11:31:54 (UTC+0200)

==  Checking /srv/backups//pouet.cluster.chapril.org
vendredi 31 mai 2019, 11:33:20 (UTC+0200)

==  Checking /srv/backups//sympa.cluster.chapril.org
vendredi 31 mai 2019, 12:00:50 (UTC+0200)

vendredi 31 mai 2019, 12:02:17 (UTC+0200)
Returned 0
========================================================================

Chatonic content :

12:03 < chatonic> icinga2.cluster.chapril.org!Checking all backup repos are ok  is OK

Ça n'explique pas. Ticket passé à résolu en attendant l'éventuel retour du problème.

#2

Mis à jour par Christian P. Momon il y a presque 5 ans

  • Statut changé de Résolu à En cours de traitement

Le problème est revenu … plus vite que prévu. Même symptôme : arrêt de check_backup sur la vérification borg de la sauvegarde de pouet.

Comme en cas de problème le script s'arrête sans donner d'information, impossible d'aller plus loin pour l'instant :

for repository in $(ls -d $backup_dest/*$(hostname -d))
do

    echo "==  Checking $repository"             >> $logger
    date                                                        >> $logger
    echo ""                                             >> $logger

    $borg_bin check $repository    2>&1 >> $logger
    rc=$?
    if [[ $rc != 0 ]]; then exit $rc; fi
done

Proposition : enrichir le script pour générer plus de traces en cas d'erreur.

#3

Mis à jour par Christian P. Momon il y a presque 5 ans

Modification du script et de son appel pour plus de traces en cas d'erreur :

#! /bin/bash

borg_bin="/usr/bin/borg" 
backup_dest="/srv/backups" 

echo "========================================================================" 
echo "                           New backup check                             " 
echo "========================================================================" 
date
echo "" 

cd "$backup_dest" 

globalStatus=0
for repository in $(ls -d $backup_dest/*$(hostname -d))
do

    echo "==  Checking $repository" 
    date

    $borg_bin check $repository
    status=$?
    if [[ "$status" != 0 ]]; then
        echo "ERROR $status" 
        globalStatus=$((globalStatus + 1))
    fi

    echo "" 
done

echo "" 
date
echo "Returned $globalStatus" 
echo "========================================================================" 

exit $globalStatus

#4

Mis à jour par Christian P. Momon il y a presque 5 ans

  • Statut changé de En cours de traitement à Attente d'information

Lancement de la nouvelle version du script comme si ça venait du cron : su - backup -c "/bin/bash /srv/bin/check_backup.sh >> /var/log/check_backup.log 2>&1"

Logs générées :

[…]
==  Checking /srv/backups/pouet.cluster.chapril.org
mardi 4 juin 2019, 02:30:31 (UTC+0200)
Failed to create/acquire the lock /srv/backups/pouet.cluster.chapril.org/lock.exclusive (timeout).
ERROR 2
[…]

La suppression du lock devrait suffire (fichier + dossier). Fait. En attente du prochain passage.

Note : l'auteur initial du script n'avait pas permis de trace parce que Borg ne le permet pas ; là y a des trace mais aussi tous les « Checking segments % » intermédiaire, ce qui fera un gros fichier de log, heureusement journalisé.

#5

Mis à jour par Christian P. Momon il y a presque 5 ans

L'exécution du script s'est bien passée mais avec une nouvelle erreur :

==  Checking /srv/backups/lamp.cluster.chapril.org
mardi 4 juin 2019, 04:18:02 (UTC+0200)
Failed to create/acquire the lock /srv/backups/lamp.cluster.chapril.org/lock.exclusive (timeout).
ERROR 2

Actions :
  • suppression du fichier et du dossier de lock ;
  • relance manuelle.

Résultat : tout est ok.

Attente du passage de demain.

#6

Mis à jour par Christian P. Momon il y a plus de 4 ans

  • Projet changé de Chapril à Infra Chapril
#7

Mis à jour par Christian P. Momon il y a presque 4 ans

  • Version cible mis à Backlog
#8

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Statut changé de Attente d'information à Résolu

Ça fait longtemps que le « passage de demain » est passé. Tout est ok.

#9

Mis à jour par Quentin Gibeaux il y a plus de 3 ans

  • Statut changé de Résolu à Fermé
#10

Mis à jour par Christian P. Momon il y a plus de 3 ans

  • Version cible changé de Backlog à Sprint 2020 novembre
#11

Mis à jour par François Poulain il y a presque 2 ans

La modif de cpm a cassé le script silencieusement : celui ci ne checkait que le backup de felicette. Je rétabli le script :

#! /bin/bash

borg_bin="/usr/bin/borg" 
backup_dest="/srv/backups" 

echo "========================================================================" 
echo "                           New backup check                             " 
echo "========================================================================" 
date +"%A %d %B %Y, %X" 
echo "" 

cd "$backup_dest" 

globalStatus=0
for repository in $(ls -d $backup_dest/*.chapril.org)
do

    echo "==  Checking $repository" 
    date +"%A %d %B %Y, %X" 

    $borg_bin check --last 2 $repository
    status=$?
    if [[ "$status" != 0 ]]; then
    echo "ERROR $status" 
    globalStatus=$((globalStatus + 1))
    fi

    echo "" 
done

echo "" 
date +"%A %d %B %Y, %X" 
echo "Returned $globalStatus" 
echo "========================================================================" 

exit $globalStatus

Formats disponibles : Atom PDF