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é."