Merge branch 'profile-manager' into dev
This commit is contained in:
commit
170305997f
6
gestprofilsborgzenity.desktop
Normal file
6
gestprofilsborgzenity.desktop
Normal file
@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=Borg Zenity Profils
|
||||
Exec=bin/profile-manager.sh
|
||||
Icon=borg
|
||||
Type=Application
|
||||
Categories=Utility;
|
74
profile-manager.sh
Normal file
74
profile-manager.sh
Normal file
@ -0,0 +1,74 @@
|
||||
#! /bin/bash
|
||||
|
||||
ZenityPulsate () {
|
||||
zenity $W --window-icon=$HOME/.icons/borg.svg --progress --pulsate --auto-close
|
||||
}
|
||||
|
||||
W="--width=600"
|
||||
H="--height=500"
|
||||
|
||||
dossierprofil="$HOME/.config/borg/"
|
||||
cd $dossierprofil
|
||||
|
||||
# affichage du menu
|
||||
|
||||
choixmenu=$(echo -e "\
|
||||
cp\nCréer un nouveau profil/dépôt\n\
|
||||
ap\nAfficher les profils\n\
|
||||
" | zenity $H $W --window-icon=$HOME/.icons/borg.svg --list \
|
||||
--column "id" --column "choix")
|
||||
|
||||
# gestion des choix du menu
|
||||
|
||||
if [ "$choixmenu" = "cp" ];then
|
||||
# Créer un nouveau profil/dépôt
|
||||
borg_repo=$(zenity --file-selection --directory)
|
||||
if [ ! -z "$(ls -A $borg_repo)" ]; then
|
||||
zenity $W --error --text="Erreur, le dossier n'est pas vide."
|
||||
exit
|
||||
fi
|
||||
|
||||
zenity $W --question --text "Chiffrer le dépôt ? (fortement recommandé)"
|
||||
|
||||
if [ "$?" = "0" ];then
|
||||
zenity $W --warning --text \
|
||||
"Le fichier-clé du dépot sera stocké dans le dossier <tt>$HOME/.config/borg/keys/</tt>.\n\n\
|
||||
Veuillez à sauvegarder ce dossier dans un endroit sûr.\n\n\
|
||||
Si cette clé ne peut être lue les données ne seront pas récupérables.\n\n\
|
||||
Notez qu'il n'existe aucun mécanisme de récupération de clé."
|
||||
borg init $borg_repo | ZenityPulsate
|
||||
zenity $W --info --text "Un nouveau dépot chiffré a été généré dans <tt>$borg_repo</tt>"
|
||||
elif [ "$?" = "1" ];then
|
||||
zenity $W --warning --text \
|
||||
"Je comprends qu'en ne sécurisant pas mon dépot les données qu'il contient seront librement accessible par toute personne ayant accès aux fichiers du dépôt."
|
||||
borg init --encryption none $borg_repo | ZenityPulsate
|
||||
zenity $W --info --text "Un nouveau dépot en clair a été généré dans <tt>$borg_repo</tt>"
|
||||
fi
|
||||
|
||||
borg_dir=$(zenity --title "Dossier à sauvegarder" --file-selection --directory)
|
||||
|
||||
vars=$(zenity --forms \
|
||||
--text "Laisser les champs vides pour les options par défaut" \
|
||||
--add-entry "Nom de sauvegarde" \
|
||||
--add-entry "Nom de profil (pas d'espace ni caractères spéciaux)")
|
||||
nomsauvegarde=$(echo $vars | cut -d\| -f1)
|
||||
profilename=$(echo $vars | cut -d\| -f2)
|
||||
|
||||
cat << EOF >> $HOME/.config/borg/"$profilename".txt
|
||||
nomsauvegarde="$nomsauvegarde"
|
||||
borg_repo="$borg_repo"
|
||||
borg_archive="\$(date +%d_%B_%Y)"
|
||||
borg_dir="$borg_dir"
|
||||
borg_excludes=""
|
||||
borg_compress=""
|
||||
dryrun=""
|
||||
EOF
|
||||
|
||||
elif [ "$choixmenu" = "ap" ];then
|
||||
# Afficher les profils
|
||||
fichierprofil=$(ls -1 *.txt | zenity $H $W --window-icon=$HOME/.icons/borg.svg --list --title "Liste des profils" --text "Choisir un profil dans la liste" --hide-header --column "profil")
|
||||
zenity $W $H --info --text="<tt>$(cd $dossierprofil && cat $fichierprofil)</tt>"
|
||||
|
||||
elif [ "$choixmenu" = "" ];then
|
||||
exit
|
||||
fi
|
Loading…
Reference in New Issue
Block a user