From f9786d7a6dd9056a0c686f7a979dae701cd07849 Mon Sep 17 00:00:00 2001 From: MilesTEG Date: Wed, 5 May 2021 16:46:03 +0200 Subject: [PATCH] =?UTF-8?q?Version=20finale=20du=20script=20Gitea-Backup?= =?UTF-8?q?=20avec=20rotation=20des=20sauvegardes.=20il=20faut=20param?= =?UTF-8?q?=C3=A9trer=20en=20dur=20le=20nombre=20de=20jours=20=C3=A0=20con?= =?UTF-8?q?server=20(voir=20script=20:=20varibale=20`NB=5FJOURS=5FA=5FGARD?= =?UTF-8?q?ER`.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose/gitea/gitea-backup.sh | 87 +++++++++++++++++++--------- 1 file changed, 59 insertions(+), 28 deletions(-) diff --git a/docker-compose/gitea/gitea-backup.sh b/docker-compose/gitea/gitea-backup.sh index 25e7a39..9f0c625 100644 --- a/docker-compose/gitea/gitea-backup.sh +++ b/docker-compose/gitea/gitea-backup.sh @@ -1,3 +1,4 @@ +#!/bin/bash ##============================================================================================== ## ## ## Script gitea-backup.sh ## @@ -75,11 +76,17 @@ GITEA_DATA_DIR=data NOM_CONTENEUR=gitea # ID de l'utilisateur du NAS qui a les droits sur le conteneur -ID_USER_NAS=1000 +ID_USER_NAS=1060 + +# Nombre de jours d'archives-backup à garder (ça inclus le jour actuel) +NB_JOURS_A_GARDER=10 ##──── ──────────────────────────────────────────────────────────────────────────────────────── ##──── ──────────────────────────────────────────────────────────────────────────────────────── +function pause() { + read -p "$*" +} echo "$(date "+%R:%S - ") Script de sauvegarde des données du conteneur Gitea" @@ -191,22 +198,23 @@ if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 2 ]; then echo "###############################################################################" cd $GITEA_DOCKER_DIR # Même si on est censé déjà être là... - retour_cmd=1111 # Valeur reset - echo -e "\t-- Extinction du conteneur $(docker stop $NOM_CONTENEUR)\n" - retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable. - if [ $retour_cmd -ne 0 ]; then - if [ $retour_cmd -eq 1111 ]; then - echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 " - exit 1470000 - fi - echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être arrêté..." - echo "!! Fin du script. Erreur 777" - echo - exit 777 - fi echo "-- Création de l'archive du dossier $GITEA_DATA_DIR" + #retour_cmd=1111 # Valeur reset + echo "-- Extinction du conteneur $(docker stop $NOM_CONTENEUR) : OK." + # retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable. + # if [ $retour_cmd -ne 0 ]; then + # if [ $retour_cmd -eq 1111 ]; then + # echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 " + # exit 1470000 + # fi + # echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être arrêté..." + # echo "!! Fin du script. Erreur 777" + # echo + # exit 777 + # fi + echo "-- Création de l'archive du dossier $GITEA_DATA_DIR" # Compression tar.gz : - tar -czf $GITEA_BACKUP_DIR/Gitea-Data-Backup-`date +%Y-%m-%d--%Hh%Mm%Ss`.tar.gz ./$GITEA_DATA_DIR + #tar -czf $GITEA_BACKUP_DIR/Gitea-Data-Backup-`date +%Y-%m-%d--%Hh%Mm%Ss`.tar.gz ./$GITEA_DATA_DIR # Compression 7z après obtention d'un .tar # On Linux/Unix, in order to backup directories you must use tar : @@ -216,19 +224,42 @@ if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 2 ]; then echo "-- Archive de tout le dossier $GITEA_DATA_DIR créée." - retour_cmd=1111 # Valeur reset - echo -e "\t-- Redémarrage du conteneur $(docker start $NOM_CONTENEUR)\n" - retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable. - if [ $retour_cmd -ne 0 ]; then - if [ $retour_cmd -eq 1111 ]; then - echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 " - exit 1470000 - fi - echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être redémarré..." - echo "!! Fin du script. Erreur 777" - echo - exit 777 - fi + # retour_cmd=1111 # Valeur reset + echo "-- Redémarrage du conteneur $(docker start $NOM_CONTENEUR) : OK." + # retour_cmd=$? # Le code d'exit de la fonction est stocké dans cette variable. + # if [ $retour_cmd -ne 0 ]; then + # if [ $retour_cmd -eq 1111 ]; then + # echo "### DEBUG : soucis avec la récupération du retour de commande #1470000 " + # exit 1470000 + # fi + # echo "!! Le conteneur $NOM_CONTENEUR ne peut pas être redémarré..." + # echo "!! Fin du script. Erreur 777" + # echo + # exit 777 + # fi + + # Section concernant la rotation des sauvegardes. + echo + echo "-- Rotation des sauvegardes anciennes selon le nombre de jours d'archives à garder (=$NB_JOURS_A_GARDER) incluant ce jour :" + echo + echo + echo "-- -- Utilisation de la fonction find pour trouver les fichiers de plus de $nb_jours_a_garder jours (incluant ce jour)." + echo "-- -- Les fichiers suivants seront supprimés :" + find $GITEA_BACKUP_DIR/* -name 'Gitea-Data-Backup*' -mtime +"$((NB_JOURS_A_GARDER - 1))" -exec ls -lat --color {} \; + + # Utile pour débugguer avant de supprimer réellement les fichiers. + #pause '--DEBUG-- Appuyer sur la touche [Entrer] pour continuer...' + + echo "-- -- Suppression de ces fichiers..." + find $GITEA_BACKUP_DIR/* -name 'Gitea-Data-Backup*' -mtime +"$((NB_JOURS_A_GARDER - 1))" -exec rm -v {} \; + + ############################################################ + # Cette partie peut être commentée + echo + echo "-- -- Il reste donc les fichiers suivants :" + ls -lat --color $GITEA_BACKUP_DIR/Gitea-Data-Backup* + ############################################################ + echo "###############################################################################" echo "-- Processus de sauvegarde par création d'archive terminé."