borgaliasandfunctions/borgaliasandfunctions.txt

124 lines
3.4 KiB
Plaintext
Raw Normal View History

##################################
# Fonctions borg
##################################
#Une fonction qu permet dobtenir les information dune archive.
function bobainfo {
borg info ./::$1
}
#Supprimmer l'archive en paramètre
function bobadel {
borg delete ./::$1
}
#Supprimmer la dernière archive du dépôt
function bobadelast {
archive=$(borg list ./ --short | tail -n 1)
borg delete .::$archive
}
#Lister les archives du dépôt
alias bobals="borg list ./ --short"
#Créer un dépôt Borg. Par défaut, il sera chiffré avec un fichier clé créé dans votre home.Retour ligne automatique
alias bobaini="borg init ./"
#Créer un dépôt Borg sans chiffrement.Retour ligne automatique
alias bobaininoenc="borg init --encryption=none ./"
#Vérifier la consistence d'un dépôt
alias boback="borg check -v ."
#Monter une archive en paramètre
function bobamount {
mountpoint="$HOME/borg_$1"
mkdir $mountpoint
borg mount ./::$1 $mountpoint
read -p "Presser une touche pour démontage" CONT
fusermount -u $mountpoint && sleep 5 && rmdir $mountpoint
}
#Monter la dernière archive du dépôt
function bobamountlast {
archive=$(borg list ./ --short | tail -n 1)
mountpoint="$HOME/borg_$archive"
mkdir $mountpoint
borg mount ./::$archive $mountpoint
read -p "Presser une touche pour démontage" CONT
fusermount -u $mountpoint && sleep 5 && rmdir $mountpoint
}
#Afficher les informations de la dernière archive
function bobainflastsave {
archive=$(borg list --short ./ | tail -n 1)
borg info .::$archive
}
#Cette fonction récupère toutes les informations des archives dans un dépôt Borg. Cela peut être utile pour faire des statiques sur un dépôt.Retour ligne automatique
#Attention, si le nombre darchives est élevé et la compression forte cela peut prendre du temps.
function bobainfoall {
for borgarchive in $(borg list --short ./);do
echo "---------------------------------------------------------------------------------------"
borg info .::$borgarchive
echo "---------------------------------------------------------------------------------------"
done
}
#Exporter toutes les informations des archives dans un dépôt dans un fichier json
function bobainfoalljson {
for borgarchive in $(borg list --short ./);do
borg info --json .::$borgarchive >> $HOME/borginfo.txt
done
}
2021-04-05 11:15:32 +02:00
#Trouver un fichier dans un dépôt, affiche la liste des archives qui contient le fichier
function bobasearchinarchive {
for borgarchive in $(borg list --short ./);do
borggrep=$(borg list --short .::$borgarchive | grep $1)
if [ $? = 0 ];then
echo "Chaine trouvé dans l'archive : $borgarchive"
fi
done
2021-04-05 11:16:05 +02:00
}
#Supprimmer en masse des archives dans un dépôt
function bobadeleter {
borgrepo="${PWD##*/}"
file="borgdelete_$borgrepo.sh"
editor="$EDITOR"
#test dépôt
borgrepofile="config"
if [ ! -f "$borgrepofile" ]; then
echo "Not in a borg repo. Unable to find $borgrepofile."
return
fi
borgrepofile="data"
if [ ! -d "$borgrepofile" ]; then
echo "Not in a borg repo. Unable to find $borgrepofile."
return
fi
#générer la liste des archives
borg list --short . >> $file
if [ "$?" != "0" ]; then
echo "Error."
return
fi
sed -i 's/^/"/' $file
sed -i 's/$/"/' $file
sed -i 's/^/#borg delete -v .::/' $file
clear
echo "### BORG DELETER ###"
echo ""
echo "Just uncomment lines you want to delete and save your file."
echo "Watch out you're doing, there won't be other confirmation."
sleep 5
$editor $file
sh $file
rm $file
2021-04-05 11:15:32 +02:00
}