version initale de developpement
This commit is contained in:
commit
5e6ca08966
139
borg-gui.sh
Executable file
139
borg-gui.sh
Executable file
@ -0,0 +1,139 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
|
||||||
|
# META VARIABLES
|
||||||
|
#################################################################################
|
||||||
|
export BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK=yes
|
||||||
|
export BORG_RELOCATED_REPO_ACCESS_IS_OK=yes
|
||||||
|
|
||||||
|
# FONCTIONS
|
||||||
|
#################################################################################
|
||||||
|
TestBorgRepo () {
|
||||||
|
if [ ! -f "config" ]; then
|
||||||
|
TestBorgErr=1
|
||||||
|
infoerr=$(echo "Impossible de trouver le fichier de configuration borg.")
|
||||||
|
zenity --width=500 --error --text="$infoerr"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "data" ]; then
|
||||||
|
TestBorgErr=1
|
||||||
|
infoerr=$(echo "Impossible de trouver le fichier de configuration borg.")
|
||||||
|
zenity --width=500 --error --text="$infoerr"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d "lock.exclusive" ]; then
|
||||||
|
TestBorgErr=1
|
||||||
|
infoerr=$(echo "Le dépôt est bloqué, une opération est peut-être en cours")
|
||||||
|
zenity --width=500 --error --text="$infoerr"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
bobainfoa () {
|
||||||
|
TestBorgRepo
|
||||||
|
borg info ./::$borg_repo
|
||||||
|
}
|
||||||
|
|
||||||
|
DossierPresent () {
|
||||||
|
if [ ! -d "$1" ]; then
|
||||||
|
inforerror=$(echo "Erreur, le dossier $1 est absent.\nFin du script.")
|
||||||
|
zenity --width=500 --error --text="$inforerror"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
SauvegardeBorg () {
|
||||||
|
DossierPresent $borg_repo
|
||||||
|
|
||||||
|
zenity --width=500 --info --text="
|
||||||
|
Nom du dépôt : $borg_repo\n\
|
||||||
|
Nom archive : $borg_archive\n\
|
||||||
|
Compression : $borg_compress\n\
|
||||||
|
"
|
||||||
|
|
||||||
|
borg create $borg_excludes $borg_compress $borg_repo::$borg_archive $borg_dir | zenity --width=400 --progress --pulsate --auto-close --title="Sauvegarde en cours..."
|
||||||
|
sync | zenity --width=400 --progress --pulsate --auto-close --title="Syncronisation des écritures..."
|
||||||
|
zenity --notification --text "Sauvegarde $nomsauvegarde terminée"
|
||||||
|
zenity --width=300 --info --text "Sauvegarde $nomsauvegarde terminée"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Profils et tests
|
||||||
|
#################################################################################
|
||||||
|
# si $1 n'est pas vide fichier de profil = $1
|
||||||
|
# sinon afficher les profils disponibles
|
||||||
|
if [ ! $1 = "" ]; then
|
||||||
|
fichierprofil="$1"
|
||||||
|
. "$1"
|
||||||
|
else
|
||||||
|
fichierprofil=$(ls -1 $HOME/.config/borg/*.txt | zenity --height=500 --width=600 --list --title "Profils" --column "profil") && . $fichierprofil
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$nomsauvegarde" = "" ]; then
|
||||||
|
infoerr=$(echo "Profil non défini ou incomplet.")
|
||||||
|
zenity --width=200 --error --text="$infoerr"
|
||||||
|
exit
|
||||||
|
elif [ "$borg_repo" = "" ]; then
|
||||||
|
infoerr=$(echo "Profil non défini ou incomplet.")
|
||||||
|
zenity --width=200 --error --text="$infoerr"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $borg_repo
|
||||||
|
TestBorgRepo
|
||||||
|
|
||||||
|
#################################################################################
|
||||||
|
# MENU PRINCIPAL
|
||||||
|
#################################################################################
|
||||||
|
|
||||||
|
#################################################################################
|
||||||
|
# Gestion des options du menu
|
||||||
|
#################################################################################
|
||||||
|
while [ ! "$choixmenu" = "QUITTER" ]
|
||||||
|
do
|
||||||
|
choixmenu=$(echo -e "\
|
||||||
|
creer_sauvegarde\n\
|
||||||
|
monter_sauvegarde\n\
|
||||||
|
demonter_sauvegarde\n\
|
||||||
|
supprimmer_sauvegarde\n\
|
||||||
|
info_sauvegarde\n\
|
||||||
|
info_depot\n\
|
||||||
|
afficher_variables_profil\n\
|
||||||
|
QUITTER\
|
||||||
|
" | zenity --list --height=400 --width=400 --title "BORG GUI" --column "Dépôt : $nomsauvegarde")
|
||||||
|
|
||||||
|
if [ "$choixmenu" = "creer_sauvegarde" ] ;then
|
||||||
|
TestBorgRepo
|
||||||
|
SauvegardeBorg
|
||||||
|
|
||||||
|
elif [ "$choixmenu" = "monter_sauvegarde" ];then
|
||||||
|
borg_archive=$(borg list --short $borg_repo | zenity --height=500 --list --title "Listes des archives" --column "Archive")
|
||||||
|
mkdir $HOME/$borg_archive
|
||||||
|
borg mount $borg_repo::$borg_archive $HOME/$borg_archive
|
||||||
|
zenity --width=400 --info --text="La sauvegarde est disponible dans le dossier\n$HOME/$borg_archive"
|
||||||
|
|
||||||
|
elif [ "$choixmenu" = "demonter_sauvegarde" ];then
|
||||||
|
ptnmontage=$(mount | grep borgfs | cut -d" " -f3 | zenity --width=500 --height=400 --list --title "Liste des points de montages" --column "")
|
||||||
|
fusermount -u $ptnmontage
|
||||||
|
sleep 5
|
||||||
|
rmdir $ptnmontage
|
||||||
|
|
||||||
|
elif [ "$choixmenu" = "supprimmer_sauvegarde" ];then
|
||||||
|
borg_archive=$(borg list --short $borg_repo | zenity --height=500 --list --title "Listes des archives" --column "Archive")
|
||||||
|
borg delete $borg_repo::$borg_archive | zenity --width=400 --progress --pulsate --auto-close --title="Suppression en cours"
|
||||||
|
zenity --width=200 --info --text="Suppresion terminée"
|
||||||
|
|
||||||
|
elif [ "$choixmenu" = "info_sauvegarde" ];then
|
||||||
|
borg_archive=$(borg list --short $borg_repo | zenity --height=500 --list --title "Listes des archives" --column "Archive")
|
||||||
|
info=$(borg info $borg_repo::$borg_archive)
|
||||||
|
zenity --width=600 --info --text="$info"
|
||||||
|
|
||||||
|
elif [ "$choixmenu" = "info_depot" ];then
|
||||||
|
info=$(borg info $borg_repo)
|
||||||
|
zenity --width=600 --info --text="$info"
|
||||||
|
|
||||||
|
elif [ "$choixmenu" = "afficher_variables_profil" ];then
|
||||||
|
info=$(cd $dossierprofil && cat $fichierprofil)
|
||||||
|
zenity --width=500 --info --text="$info"
|
||||||
|
fi
|
||||||
|
done
|
Loading…
Reference in New Issue
Block a user