Merci . je viens de l'installer . dispo sur debian . ca à l'air bien pratique.
Spoiler :
#!/bin/bash
clear
###################### fonctions ######################
backup-action-tar() {
echo "backup-action-tar"
tar cvf $destination/$archive_name.tar $source ; sync
echo "$success"
exit 0
}
backup-action-ssh-tar() {
echo "backup-action-ssh-tar"
tar cvf $archive_name.tar $source ; scp $archive_name.tar $sshuser@$sshserver:$destination/$archive_name.tar ; rm $archive_name.tar ; sync
echo "$success"
exit 0
}
backup-action-pigz() {
echo "backup-action-pigz"
tar cvf $destination/$archive_name $source ; pigz -r -6 $destination/$archive_name ; sync echo "$success"
exit 0
}
backup-action-ssh-pigz() {
echo "backup-action-ssh-pigz"
tar cvf $archive_name.tar $source ; pigz -6 $archive_name.tar ; scp $archive_name.tar.gz $sshuser@$sshserver:$destination/$archive_name.tar.gz ; rm $archive_name.tar.gz ; sync
echo "$success"
exit 0
} backup-action-ssh-dd() {
echo "backup-action-ssh-dd selectionné"
pv -pter -i 1 $source|pigz -6|ssh $sshuser@$sshserver dd bs=64M conv=notrunc,noerror of=/home/$sshuser/$archive_name
echo "$success"
exit 0
}
backup-action-dd() {
echo "backup-action-dd selectionné"
pv -pter -i 1 $source|pigz -6| dd bs=64M conv=notrunc,noerror of=$destination/$archive_name ; sync
echo "$success"
exit 0
}
################## saisie des valeurs initiales ###############
success="Backup terminé"
read -p "Enter target to save : " source
read -p "Enter archive file name : " archive_name
read -p "tar pigz or dd ? : " tool_choice
read -p "Enter destination directory : " destination
#source=$(zenity --entry --title "drfzzz-backup" --text "Selection de la cible:" --width=400 --height=200)
#archive_name=$(zenity --entry --title "drfzzz-backup" --text "Nom de l'archive" --width=400 --height=200)
#tool_choice=$(zenity --list --width=400 --height=200 --column Selection --column outil TRUE tar FALSE pigz FALSE dd --radiolist)
#destination=$(zenity --entry --title="drfzzz-backup" --text "Selection destination" --width=400 --height=200)
#zenity --info --width=400 --height=200 --text "$source $archive_name $tool_choice $destination"
echo "source $source nom archive $archive_name destination $destination outil $tool_choice"
if [ "$tool_choice" = "tar" ] ; then
tool="tar"
elif [ "$tool_choice" = "pigz" ] ; then
tool="pigz"
elif [ "$tool_choice" = "dd" ] ; then
tool="dd"
fi
read -p "backup via ssh ? y/n " ssh_backup
if [ "$ssh_backup" = "y" ] ; then read -p "ssh server ?" sshserver
read -p "sshuser ?" sshuser
fi
if [ "$ssh_backup" = "y" ] && [ "$tool" = "tar" ] ;then
backup-action-ssh-tar
fi
if [ "$ssh_backup" = "y" ] && [ "$tool" = "pigz" ] ; then
backup-action-ssh-pigz
fi
if [ "$ssh_backup" = "y" ] && [ "$tool" = "dd" ] ; then
backup-action-ssh-dd
fi
#ssh_backup=$(zenity --entry --width=400 --height=200 --title "drfzzz-backup" --text "sauvegarde via ssh y/n ?" )
#read -p "sauvegarde via ssh ? " ssh_backup
#if [ "$ssh_backup" == "y" ] ; then
#sshserver=$(zenity --entry --title="drfzzz-backup" --text "entrer l'adresse du serveur" --width=400 --height=200)
#sshuser=$(zenity --entry --title "drfzzz-backup" --text "entrer le nom utilisateur" --width=400 --height=200)
#read -p "ssh server ?" sshserver
#read -p "sshuser ?" sshuser
#backup-action-ssh
#fi
if [ "$tool" == "tar" ] ; then
backup-action-tar
elif [ "$tool" == "pigz" ] ; then
backup-action-pigz
elif [ "$tool" == "dd" ] ; then
echo "NOT AVAILABLE YET"
else
echo "no comprendo"
fi
|
so far , cela fonctionne ! la partie tool_choice fait doublon . c'est une relique de l'ancien temps
edit: donc j'ai deplacé la saisie "destination" : pour la section ssh et local. et une seul variable outil => "tool" .
dans le cas d'une sauvegarde ssh , le "sync" doit etre fait sur la machine distante , je le sais .
je pense à rajouter un hashage sha , que je stockerai sur une 3eme emplacement . on peut tout imaginer . via email par exemple. ou une 3eme machine physique .
tant qu'a faire , je vais rajouter l'inverse des fonctions : restauration depuis backup. une fois que tout fonctionnera, je pourrai peut etre ajouter une interface graphique. mais zenity ca me gonfle.
ps: comment on colle un spoiler mais compact/deroulant ?
Message édité par driving_south le 02-10-2022 à 12:38:40