Miles-GiteaRestore #64
@ -10,6 +10,16 @@
|
||||
## = archive_dossier ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## MAJ du 19.04.2021 : La partie de sauvegarde gite_dump a été commentée, et n'est donc ##
|
||||
## plus utilisée, car la restauration de cette archive est trop galère à mettre en place. ##
|
||||
## Donc soit on ne donne aucun paramètre en argument au script, soit on met archive_dossier. ##
|
||||
## L'autre paramètre n'aura donc plus aucun effet. ##
|
||||
## ##
|
||||
##==============================================================================================
|
||||
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Objectif du script : faire une sauvegarde de l'installation Gitea @ Docker ##
|
||||
@ -65,7 +75,7 @@ GITEA_DATA_DIR=data
|
||||
NOM_CONTENEUR=gitea
|
||||
|
||||
# ID de l'utilisateur du NAS qui a les droits sur le conteneur
|
||||
ID_USER_NAS=1060
|
||||
ID_USER_NAS=1000
|
||||
|
||||
##──── ────────────────────────────────────────────────────────────────────────────────────────
|
||||
##──── ────────────────────────────────────────────────────────────────────────────────────────
|
||||
@ -141,56 +151,85 @@ esac
|
||||
##==============================================================================================
|
||||
## ##
|
||||
## Partie concernant les sauvegardes ##
|
||||
if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 1 ]; then
|
||||
# Aucune méthode n'est choisie ou bien méthode gitea_dump sélectionnée
|
||||
# if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 1 ]; then
|
||||
# # Aucune méthode n'est choisie ou bien méthode gitea_dump sélectionnée
|
||||
|
||||
# Rappel des variables :
|
||||
# GITEA_DOCKER_DIR=/volume1/docker/gitea
|
||||
# GITEA_BACKUP_DIR=backup-data
|
||||
# GITEA_DATA_DIR=data
|
||||
# NOM_CONTENEUR=gitea
|
||||
# ID_USER_NAS=1060
|
||||
# # Rappel des variables :
|
||||
# # GITEA_DOCKER_DIR=/volume1/docker/gitea
|
||||
# # GITEA_BACKUP_DIR=backup-data
|
||||
# # GITEA_DATA_DIR=data
|
||||
# # NOM_CONTENEUR=gitea
|
||||
# # ID_USER_NAS=1060
|
||||
|
||||
echo "-- Sauvegarde via Gitea dump. (un peu chiant à restaurer...)"
|
||||
echo "###############################################################################"
|
||||
# Dans la commande suivante, les chemins d'accès donnés en paramètres sont des chemins d'accès à l'intérieur du conteneur, montés avec le docker-compose.yml.
|
||||
# Exemple de commande sans variables :
|
||||
# docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=gitea") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
|
||||
# Note : La commande lancée dans une tâche CRON (planifiée) ne permet pas l'utilisation du paramètre -t.
|
||||
# Commande à lancer dans un terminal :
|
||||
# docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=gitea") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
|
||||
|
||||
docker exec -u $ID_USER_NAS -i -w /$GITEA_BACKUP_DIR $(/usr/local/bin/docker ps -qf "name=$NOM_CONTENEUR") bash -c "/app/gitea/gitea dump -c /$GITEA_DATA_DIR/gitea/conf/app.ini"
|
||||
num_erreur=$? # On stocke le code de retour de la commande précédente.
|
||||
if [ $num_erreur -ne 0 ]; then # Si ce code n'est pas 0, il y a eu une erreur, on arrète le script.
|
||||
echo "!!!!!! Erreur lors de la commande de backup gitea dump."
|
||||
#echo "!!!!!! Commande lancée :"
|
||||
#echo " docker exec -u $ID_USER_NAS -it -w /$GITEA_BACKUP_DIR $(docker ps -qf "name=$NOM_CONTENEUR") bash -c "/app/gitea/gitea dump -c /$GITEA_DATA_DIR/gitea/conf/app.ini""
|
||||
echo "!!!!!! Abandon, avec code d'erreur $num_erreur"
|
||||
exit $num_erreur
|
||||
fi
|
||||
echo "###############################################################################"
|
||||
echo "-- Sauvegarde via Gitea dump terminée."
|
||||
fi
|
||||
# echo "-- Sauvegarde via Gitea dump. (un peu chiant à restaurer...)"
|
||||
# echo "###############################################################################"
|
||||
# # Dans la commande suivante, les chemins d'accès donnés en paramètres sont des chemins d'accès à l'intérieur du conteneur, montés avec le docker-compose.yml.
|
||||
# # Exemple de commande sans variables :
|
||||
# # docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=^gitea$") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
|
||||
# # Note : La commande lancée dans une tâche CRON (planifiée) ne permet pas l'utilisation du paramètre -t.
|
||||
# # Commande à lancer dans un terminal :
|
||||
# # docker exec -u 1060 -i -w /backup-data $(docker ps -qf "name=^gitea$") bash -c '/app/gitea/gitea dump -c /data/gitea/conf/app.ini'
|
||||
# # Explication pour $(docker ps -qf "name=^gitea$") ici : https://stackoverflow.com/a/34497614
|
||||
|
||||
# docker exec -u $ID_USER_NAS -i -w /$GITEA_BACKUP_DIR $(docker ps -qf "name=^$NOM_CONTENEUR$") bash -c "/app/gitea/gitea dump -c /$GITEA_DATA_DIR/gitea/conf/app.ini"
|
||||
# num_erreur=$? # On stocke le code de retour de la commande précédente.
|
||||
# if [ $num_erreur -ne 0 ]; then # Si ce code n'est pas 0, il y a eu une erreur, on arrète le script.
|
||||
# echo "!!!!!! Erreur lors de la commande de backup gitea dump."
|
||||
# #echo "!!!!!! Commande lancée :"
|
||||
# #echo " docker exec -u $ID_USER_NAS -it -w /$GITEA_BACKUP_DIR $(docker ps -qf "name=$NOM_CONTENEUR") bash -c "/app/gitea/gitea dump -c /$GITEA_DATA_DIR/gitea/conf/app.ini""
|
||||
# echo "!!!!!! Abandon, avec code d'erreur $num_erreur"
|
||||
# exit $num_erreur
|
||||
# fi
|
||||
# echo "###############################################################################"
|
||||
# echo "-- Sauvegarde via Gitea dump terminée."
|
||||
# fi
|
||||
|
||||
|
||||
if [ $mode_backup -eq 0 ] || [ $mode_backup -eq 2 ]; then
|
||||
# Aucune méthode n'est choisie ou bien méthode archive_dossier sélectionnée
|
||||
echo "-- Sauvegarde par création d'une archive de tout le dossier $GITEA_DATA_DIR"
|
||||
echo "###############################################################################"
|
||||
echo "-- Extinction du conteneur $NOM_CONTENEUR"
|
||||
cd $GITEA_DOCKER_DIR # Même si on est censé déjà être là...
|
||||
docker stop $NOM_CONTENEUR
|
||||
|
||||
|
||||
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"
|
||||
|
||||
# Compression tar.gz :
|
||||
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 :
|
||||
# - to backup a directory : tar cf - directory | 7z a -si directory.tar.7z
|
||||
# - to restore your backup : 7z x -so directory.tar.7z | tar xf -
|
||||
tar cf - ./$GITEA_DATA_DIR | 7z a -si $GITEA_BACKUP_DIR/Gitea-Data-Backup-`date +%Y-%m-%d--%Hh%Mm%Ss`.7z
|
||||
|
||||
echo "-- Archive de tout le dossier $GITEA_DATA_DIR créée."
|
||||
|
||||
echo "-- Redémarrage du conteneur Gitea..."
|
||||
docker start $NOM_CONTENEUR
|
||||
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
|
||||
|
||||
echo "###############################################################################"
|
||||
echo "-- Processus de sauvegarde par création d'archive terminé."
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user