Script sauvegarde Le sujet est résolu

Demande d'aide : c'est ici.
Répondre
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

… j'en apprends tous les jours, …
Moi aussi, et plus j'en apprends, plus j'aperçois l'immensité de tout ce qu'il me reste à apprendre/comprendre.
Je n'ai jamais compris comment certains peuvent s'ennuyer : il y a tant de chose à découvrir, partager…et pas seulement dans l'informatique, bien sûr.
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

piratebab a écrit : 20 mars 2017, 15:48 si l'utilisateur répond autre chose que yYoO, il faut sortir proprement.
en françois, je vois bien la question :
si = O
puis = lancement
sinon = sortie du script

mais en angliche..j'suis "perdu"
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

MicP a écrit : 20 mars 2017, 16:08
… j'en apprends tous les jours, …
Moi aussi, et plus j'en apprends, plus j'aperçois l'immensité de tout ce qu'il me reste à apprendre/comprendre.
Je n'ai jamais compris comment certains peuvent s'ennuyer : il y a tant de chose à découvrir, partager…et pas seulement dans l'informatique, bien sûr.
Ces gens là, me surprendront toujours... :icon_biggrin:

J'aime bien la chanson de Gabin qui disait : "je sais, je sais, je sais que je ne sais rien !"
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5854
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

En gestion de projet, on apprends qu'il y a le inconnu connu, et l'inconnu inconnu.
Ce qui fait 2 fois plus de possibilité d'apprendre!

Pour ton script, regarge comment on fit des branchements conditionnels en BATCH
https://bash.cyberciti.biz/guide/If..else..fi

Si la réponse n'est pas OK pour continuer, tu fais alors un exit
http://home.gna.org/unix-initiation/web ... de127.html

Généralement, on met en premier dans le script la version "commande erronée", qu fait sortir du programme, puis on enchaine sur la suite (commande OK).
On fait donc un test du genre:
si réponse differente de YyOo
alors on sort
sinon on continu

C'est plus simple à lire, car généralement la partie qui sort du programme est bien plus courte, on perd moins le fil de l'histoire en lisant le script.
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

… J'aime bien la chanson de Gabin qui disait : "je sais, je sais, je sais que je ne sais rien !"…
Oui, c'est tout-à fait ça.
Et ce que l'on finit par se rendre compte, c'est qu'on avait oublié d'apprendre ce qu'on est.
…d'ailleurs, quand j'en saurais un petit peu plus sur moi, et s'il me reste encore un peu de temps, peut-être que je ferais comme le Dr. Emmett Brown (Retour vers le futur) :
"…Mieux vaut que je me consacre à l'étude de l'autre grand mystère de l'univers : les femmes.…"

=======
…En gestion de projet, on apprends qu'il y a le inconnu connu, et l'inconnu inconnu.
Ce qui fait 2 fois plus de possibilité d'apprendre…!
Ça, c'est quelque chose que je n'ai jamais appris, et qui je pense me manque beaucoup.
Qu'est-ce que j'aurais aimé pouvoir suivre des cours, je suis sûr que j'y aurais gagné beaucoup de temps.
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

piratebab a écrit : 20 mars 2017, 17:32 En gestion de projet, on apprends qu'il y a le inconnu connu, et l'inconnu inconnu.
Ce qui fait 2 fois plus de possibilité d'apprendre!

Pour ton script, regarge comment on fit des branchements conditionnels en BATCH
https://bash.cyberciti.biz/guide/If..else..fi

Si la réponse n'est pas OK pour continuer, tu fais alors un exit
http://home.gna.org/unix-initiation/web ... de127.html

Généralement, on met en premier dans le script la version "commande erronée", qu fait sortir du programme, puis on enchaine sur la suite (commande OK).
On fait donc un test du genre:
si réponse differente de YyOo
alors on sort
sinon on continu

C'est plus simple à lire, car généralement la partie qui sort du programme est bien plus courte, on perd moins le fil de l'histoire en lisant le script.
Normal la belle page blanche : https://bash.cyberciti.biz/guide/If..else..fi ?
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
MicP
Modérateur
Modérateur
Messages : 896
Inscription : 16 avr. 2016, 22:14
Status : Hors-ligne

si réponse differente de YyOo
alors on sort
sinon on continu

Code : Tout sélectionner

…
echo -e $BLEU "Sûr de vouloir exécuter la sauvegarde du Portable ? [o/N]"; read -sn1;
[[ $REPLY =~ [yYoO] ]] || { echo "Abandon sauvegarde."; exit; }
… suite du script si réponse est positive …
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5854
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

ça fonctionne chez moi. ton navigateur dois bloquer quelque chose dans le contenu
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

piratebab a écrit : 20 mars 2017, 23:02 ça fonctionne chez moi. ton navigateur dois bloquer quelque chose dans le contenu
Tu as raison... pétard, cela fait plusieurs fois que chromium refuse d'ouvrir des sites... :icon_e_surprised:

Sur Firefox, cela s'ouvre...

Merci de m'avoir refait la "piqûre" :wink:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5854
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : Hors-ligne

MicP, la remarque était pour le script de DbFr871 dont le test est incomplet
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

revoici le script, ainsi modifié :

Code : Tout sélectionner

#!/bin/bash
#
# 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
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 du Portable ? o/N"
#		read ANSWER
#if [ $ANSWER == o ] ;
#
echo -e $BLEU "Exécuter la sauvegarde ? [o/N]"; # Pour plus de lisibilité, la réponse par défaut est donnée en majuscule à la suite de la question.
read -sn1;                                      # Pas la peine d'entrer plus d'un caractère ni d'appuyer sur la touche entrée.
if [[ $REPLY =~ [yYoO] ]] ||                    # La variable REPLY est automatiquement créée par la fonction read du bash (builtins)
   { echo -e $ROUGE "Abandon sauvegarde.";
	 echo -e $STNDT "Sortie Sauvegarde"; exit; } 
#
then
    echo -e $VERT "Sauvegarde lancée !" # Seulement si l'utilisateur a appuyé sur la touche "y" "Y" "o" ou "O"
#fi
#then
	echo -e $JAUNE "----\nLancement sauvegarde à : $Heure le $Date"
	echo -e $ROSE "-----------\nSynchronisation en cours...\n ------------"
#
# pour donner un nom "raccourci" (incluant le chemin) au fichier backuperror0.log :
backup=/home/bernard/bin/Sauvegardes/backuperror0Del-portable_Sauv1T_500go.log
#
aptitude search '~i !~M' -F '%p' > /home/mes_paquetsPortable
#
dpkg --get-selections > liste-des-paquets1
#
# à 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.
#
#DDSecondaire500
#DDSauv1To-a
rsync -a -P --del --stats /home /media/bernard/Sauv1To-a/ 2>> $backup
#
{rsync -a -P --del --stats /home /media/bernard/Secondaire500/Racine2 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 $STNDT "Sauvegarde terminée à  : $Heure le $Date\n"
else
	echo -e $STNDT "Procédure interrompue par l'utilisateur."
fi
#
read -p "A la prochaine... Pour fermer le terminal : Ctrl + C"
#
# ---- fin du script ----
J'ai ajouté une ligne "inutile", dans la sauvegarde, mais qui sert à retrouver la couleur standard de la console :wink:

une copie d'écran pour illustrer :
Image

Merci de m'avoir aidé à "terminer" ce script :wink:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Avatar de l’utilisateur
DbFr871
Membre très actif
Membre très actif
Messages : 1140
Inscription : 17 mai 2016, 20:48
Localisation : Nègrepelissien
Contact :
Status : Hors-ligne

piratebab a écrit : 20 mars 2017, 23:02 ça fonctionne chez moi. ton navigateur dois bloquer quelque chose dans le contenu
J'allais ouvrir une discussion pour ce "souci" et c'est inutile... après avoir supprimé le bloqueur (uBlock) de la page, et redémarré le navigateur, elle s'affiche correctement :icon_e_surprised:
Cordialement,
Bernard
Debian9.1Stretch-XFCE-64bits-Sony-Vaio,Intel-P8400-2.26GHz,DD-SeagateSSHD500Go,GeForce9300M-GS-256Mo
Répondre