#1 Le 08/11/2011, à 12:07
- Shawa
[Résolu] exécuter un script marchant auparavant sur Xubuntu et Ubuntu
Bonjour,
Je me suis fait un script de sauvegarde de données basé sur rsync qui marchait très bien sous Ubuntu et Xubuntu. Je n'arrive cependant pas à l'exécuter sous Lubuntu.
Merci de m'aiguiller.
#!/bin/bash
# Par MulX (Aymeric) et Talagath 15/01/08
# Sujet original : http://gw.lenezir.fr/viewtopic.php?f=9&t=164
# v1.0
# Faire les sauvegardes de mes données sur un disque dur externe avec dar et autorun.inf
# pour donner un nom "raccourci" (incluant le chemin) au fichier backuperror.log :
backup=/media/Hangar/Script_sauvegarde/backuperror.log
# à noter l'usage des ">" : un seul ">" renvoie le contenu du terminal dans le fichier indiqué en écrasant tout ce que contient déjà ce fichier.
# ">>" renvoie le contenu du terminal sans écraser ce que contient déjà le fichier.
# Le chiffre "2" suivi d'un seul ">" renvoie seulement les messages d'erreurs générés par le processus dans le fichier indiqué
# en écrasant le contenu de ce fichier. "2>>" renvoie les erreurs sans écraser le contenu du fichier.
# Pour afficher les notifications d'avancement du script
exec 3> >(zenity --notification ---window-icon="/media/Hangar/Script_sauvegarde/dialog-apply.svg" --listen)
echo "Sauvegarde en cours" >&3
reponseZenity=$(zenity --list --checklist --width=500 --height=250 \
--title "Sélectionner les opérations à effectuer" \
--text="Veuillez sélectionnez les opérations à effectuer :" \
--column="À faire ?" --column="Description" --column="ID" \
--print-column=3 --hide-column=3 \
FALSE "Faire la sauvegarde de home sur le PC Shawa" "1"\
FALSE "Faire la sauvegarde de Partage sur le PC Shawa" "2" \
FALSE "Faire la sauvegarde de home sur le Portable Solenn" "3"\
FALSE "Faire la sauvegarde de Partage sur le Portable Solenn" "4" \
FALSE "Éteindre l'ordinateur après les sauvegardes" "5")
# On transforme la réponse de zenity avec ' ' plutôt que des '|'
reponseIFS=$(echo "$reponseZenity" | sed "s/|/ /g" )
# Fonction pour faire appel à dar plus simplement
function call_rsync
{
# $1 == nom de backup
# $2 == Dossier a sauvegarder
# option sup.
REPERTOIRE_DESTINATION=$1
REPERTOIRE_SOURCE=$2
shift 2
echo -n calling rsync with :
echo -e " rsync -r -t -p -o -g -v --delete -l $REPERTOIRE_SOURCE "/media/Hangar"$REPERTOIRE_DESTINATION""$@"
#echo -e " dar -v -w -y -s4000M -c "/media/disk/Sauvegardes/Sauvegarde"$nomDeBackup"" -R "$dossierBackup" $@"
rsync -r -t -p -o -g -v --delete -l --filter "- .thumbnails/" --filter "- .Trash/" --filter "- *.tmp" --filter "- *.iso" --filter "- lost+found/" --filter "- .cache/" --filter "- .beagle/" $REPERTOIRE_SOURCE "/media/Hangar/"$REPERTOIRE_DESTINATION"" 2> $backup
}
# Traite la réponse (ID) de zenity
function toBackup
{
while [ x$1 != "x" ]
do
case $1 in
("1")
echo "Message : Sauvegarde de 'home' sur le PC Antoine" >&3
call_rsync 'Sauvegarde_home_pcAntoine' '/home/'
echo "Message : Sauvegarde de '/home/' effectuée" >&3
sleep 2
;;
("2")
echo "Message : Sauvegarde de 'partage' sur le PC Antoine" >&3
call_rsync 'Sauvegarde_partage_pcAntoine' '/media/partage/'
echo "Message : Sauvegarde de '/media/partage/' effectuée" >&3
sleep 2
;;
("3")
echo "Message : Sauvegarde de 'home' sur le portable Solenn" >&3
call_rsync 'Sauvegarde_home_pcSolenn' '/home/'
echo "Message : Sauvegarde de '/home/' effectuée" >&3
sleep 2
;;
("4")
echo "Message : Sauvegarde de 'partage' sur le portable Solenn" >&3
call_rsync 'Sauvegarde_partage_pcSolenn' '/media/partage'
echo "Message : Sauvegarde de '/media/partage/' effectuée" >&3
sleep 2
;;
("5")
echo "Aucune idée comment éteindre, sans les droits root, en tant normal c'est shutdown "
echo "Message : Normalement l'ordinateur doit s'éteindre tout seul ^_^" >&3
sleep 2
echo call : /usr/lib/indicator-session/gtk-logout-helper --shutdown
/usr/lib/indicator-session/gtk-logout-helper --shutdown
;;
esac
shift
done
}
# Insertion de la date à la fin de la liste d'erreur si le fichier backuperror n'est pas vide (c'est à dire s'il y a des erreurs),
# ce que vérifie l'option "-s" :
if [ -s $backup ]; then
{
date >> $backup
}
fi
# On demande à traiter la réponse de zenity
# les fonctions doivent être écrites avant leur appel
toBackup $reponseIFS
echo "Message : Fin du script de sauvegarde. Bye" >&3
exec 3>&-
exit 0;
Dernière modification par Shawa (Le 09/11/2011, à 21:02)
Hors ligne
#2 Le 08/11/2011, à 12:13
- didli
Re : [Résolu] exécuter un script marchant auparavant sur Xubuntu et Ubuntu
Salut !
Mais ... tu as un message d'erreur au moins non ?
Plan B : réessayer le Plan A jusqu'à ce qu'il fonctionne.
http://www.mediaklan.com/
Hors ligne
#3 Le 08/11/2011, à 14:07
- Shawa
Re : [Résolu] exécuter un script marchant auparavant sur Xubuntu et Ubuntu
Non, rien ne se passe
Par contre, je viens d'essayer
sudo bash /media/Hangar/Sauvegarde_Hangar.sh
dans la console et ça me retourne
/media/Hangar/Sauvegarde_Hangar.sh: ligne 27: zenity : commande introuvable
/media/Hangar/Sauvegarde_Hangar.sh: ligne 15: zenity : commande introuvable
Il semble que le paquet de notification utilisé sous Ubuntu (Zenity) ne soit pas celui utilisé sous Lubuntu. Mais quel est-il? et comment modifié ce "ù?$*"# de script pour que ça marche?
Hors ligne
#4 Le 08/11/2011, à 16:20
- didli
Re : [Résolu] exécuter un script marchant auparavant sur Xubuntu et Ubuntu
hmm ... et l'installation de zenity ne serait-elle pas plus simple en l'occurence ? As-tu rendu ce script executable ? (je sais c'est une question con, mais je me dois de la poser !).
Et aussi normalement un simple :
sudo ./nom_de_ton_script
devrait être suffisant à son execution.
Plan B : réessayer le Plan A jusqu'à ce qu'il fonctionne.
http://www.mediaklan.com/
Hors ligne
#5 Le 08/11/2011, à 16:28
- Aube DuKaos
Re : [Résolu] exécuter un script marchant auparavant sur Xubuntu et Ubuntu
Autre question con: Tu as bien toute les dépendances?
"Les contes de fées ne révèlent pas aux enfants que les dragons existent, les enfants le savent déjà. Les contes de fées révèlent aux enfants qu'on peut tuer ces dragons."
G.K. Chesterton
Hors ligne
#6 Le 09/11/2011, à 21:01
- Shawa
Re : [Résolu] exécuter un script marchant auparavant sur Xubuntu et Ubuntu
Ok super, effectivement, installer Zenity tombait sous le sens.
Merci
Hors ligne