IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Script de sauvegarde que je souhaite faire évoluer


Sujet :

Shell et commandes GNU

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Script de sauvegarde que je souhaite faire évoluer
    Bonjour à Toutes et Tous

    J'ai un script en bash, pour mes sauvegardes, que je souhaite faire évoluer, si cela est possible, et "facile" pour moi...

    le voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    #!/bin/bash
    #
    # Ce script permet de faire une sauvegarde incrémentale manuelle avec "rsync"
    #
    # 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 "Exécuter la sauvegarde SovTotale-1 ? [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 "==============================================\n Abandon sauvegarde à  : $Heure le $Date\n ==============================================";
    	 echo -e $STNDT "Sortie Sauvegarde SovTotale-1"; exit; } 
    #
    then
        echo -e $VERT "===============================================\n Lancement sauvegarde SovTotale-1 à : $Heure le $Date\n ==============================================="
     
    # pour donner un nom "raccourci" (incluant le chemin) au fichier backuperror.log :
    backup=/home/user/bin/Sauvegardes/backuperrorSovTotale-1-a.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.
     
    #SSD32Go
    	echo -e $ROUGE "============================================\n      Synchronisation en cours sur SSD32Go\n ============================================"
    rsync --archive --partial --progress --delete-during --stats /home/user/.thunderbird /media/user/SSD32Go/ 2>> $backup
     
    #DD1To
    	echo -e $ROSE "============================================\n      Synchronisation en cours sur DD1To\n ============================================"
    rsync --archive --partial --progress --delete-during --stats /home /media/user/Sauv1To-a/SauvDdPrincipal1/ 2>> $backup
     
    #SSHD500-1
    	echo -e $VERT "==============================================\n     Synchronisation en cours sur SSHD500-1\n =============================================="
    rsync --archive --partial --progress --delete-during --stats --exclude="/media" --exclude="/proc" --exclude="/sys" / /media/user/SSHD500-1/ 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 $VERT "===============================================\n Sauvegarde SovTotale-1 terminée à  : $Heure le $Date\n ==============================================="
    else
    	echo -e $ROUGE "==============================================\n Procédure Sauvegarde SovTotale-1 interrompue par l'utilisateur à  : $Heure le $Date\n =============================================="
    fi
    	echo -e $STNDT
    # ---- fin du script ----
    J'y ai laissé les commentaires, puisque je suis loin d'être un pratiquant assidu... :o

    Quels sont les soucis avec ce script ?
    + premier souci, dans le cas où, je déconnecte un support de sauvegarde, rien dans le script, ne m'avertit qu'il est manquant... mais le plus "gênant" c'est qu'il sauvegarde tout de même, sur le support principal, et le sature... (

    + second souci, si j'indique un autre fichier, que backuperrorSovTotale-1-a.log, rien ne s'inscrit dedans... pour quelle raison... ???
    celui que j'ai tenté de créer, en l'ouvrant, il m'est indiqué : "le document n'était pas en UTF-8 valide" , là aussi, cela m'est incompréhensible...

    mais à force de contourner les "blocages" comme ceux là, je suppose qu'un jour ou l'autre, ça se bloquera vraiment... :o

    Merci de votre aide
    Dernière modification par LittleWhite ; 18/04/2018 à 10h13. Motif: Titre précis

Discussions similaires

  1. Réponses: 40
    Dernier message: 12/05/2023, 10h39
  2. Réponses: 3
    Dernier message: 13/12/2017, 17h25
  3. if qui ne fait pas ce que je souhaite faire.
    Par Antoniom dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 10/12/2010, 12h04
  4. Que choisir pour faire un Client/Serveur
    Par Crayon dans le forum Composants VCL
    Réponses: 5
    Dernier message: 10/04/2005, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo