Bonjour à Toutes et Tous
Comme sur cette discussion,
donner-droit-d-admin-sur-script-t44779.html?hilit=lanceur
les différentes tentatives n’ont pas abouti, voici le mien, qui fonctionne très bien… sauf qu’il faut que je me connecte en console admin/root et que je le lance, ainsi, tout se passe correctement, autrement, j’ai des refus sur des dossiers par “access denied” :
[code]#!/bin/bash
#Exécution du script en admin/root
Ce script permet de faire une sauvegarde incrémentale manuelle avec “rsync”
Il peut être lancé à partir d’un bouton personnalisé dans un tableau de bord.
Variables de couleurs (pour donner un peu de gaieté dans ce monde de brutes…)
VERT="\033[1;32m"
STNDT="\033[0;39m"
ROUGE="\033[1;31m"
ROSE="\033[1;35m"
BLEU="\033[1;34m"
BLANC="\033[0;02m"
BLANCLAIR="\033[1;08m"
JAUNE="\033[1;33m"
CYAN="\033[1;36m"
Date=$(date +%d-%m-%Y)
Heure=$(date +%T)
echo -e $BLEU "Sûr de vouloir exécuter la sauvegarde ? o/n"
read ANSWER
if [ $ANSWER == o ] ;
then
echo -e $JAUNE "----\nLancement sauvegarde à : $Heure le $Date"
echo -e $STNDT “-----------\nSynchronisation en cours…\n ------------”
pour donner un nom “raccourci” (incluant le chemin) au fichier backuperror.log :
backup=/home/bernard/bin/Sauvegardes/backuperror.log
#sauvegarde liste des paquets, pour réinstallation
aptitude search ‘~i !~M’ -F ‘%p’ > mes_paquets
à 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.
###DD2To
#test avec ou sans -n
sudo rsync -av --partial --del --stats --filter “- /bin/” --filter “- /dev/” --filter “- /home/” --filter “- /lost+found/” --filter “- /media/” --filter “- /mnt/” --filter “- /proc/” --filter “- /sys/” --filter “- /tmp/” --filter “- /var/” / /media/DD2To/essai_1_03102013/ 2>> $backup
###DD1To
#test avec ou sans -n
sudo rsync -av --partial --del --stats --filter “- /bin/” --filter “- /dev/” --filter “- /home/” --filter “- /lost+found/” --filter “- /media/” --filter “- /mnt/” --filter “- /proc/” --filter “- /sys/” --filter “- /tmp/” --filter “- /var/” / /media/DD1To/essai_1_03102013/ 2>> $backup
Vérification des liens = faite
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
# Mise à jour de l'heure
Heure=$(date +%T)
echo -e $ROUGE " Sauvegarde terminée à : $Heure le $Date\n"
else
echo -e $BLEU "Procédure interrompue par l’utilisateur."
fi
read -p “A la prochaine… Pour fermer le terminal : Ctrl + C”
---- fin du script ----[/code]
Mon souhait est :
- que ce script fonctionne sans que je sois obligé de passer par une console admin/root !
Vous avez des suggestions ?
Merci pour vos retours