Project

General

Profile

Anomalie #3725

Check backup sympa absent

Added by Christian P. Momon about 3 years ago. Updated 2 months ago.

Status:
Fermé
Priority:
Normale
Assignee:
Christian P. Momon
Category:
-
Start date:
05/31/2019
Due date:
% Done:

0%

Estimated time:

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.

History

#1

Updated by Christian P. Momon about 3 years ago

  • Status changed from Nouveau to Résolu
  • Assignee set to 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

Updated by Christian P. Momon about 3 years ago

  • Status changed from Résolu to 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

Updated by Christian P. Momon about 3 years ago

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

Updated by Christian P. Momon about 3 years ago

  • Status changed from En cours de traitement to 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

Updated by Christian P. Momon about 3 years ago

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

Updated by Christian P. Momon over 2 years ago

  • Project changed from Chapril to Infra Chapril
#7

Updated by Christian P. Momon over 2 years ago

  • Target version set to Backlog
#8

Updated by Christian P. Momon almost 2 years ago

  • Status changed from Attente d'information to Résolu

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

#9

Updated by Quentin Gibeaux over 1 year ago

  • Status changed from Résolu to Fermé
#10

Updated by Christian P. Momon over 1 year ago

  • Target version changed from Backlog to Sprint 2020 novembre
#11

Updated by François Poulain 2 months ago

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

Also available in: Atom PDF