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 simple de sauvegarde


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut Script simple de sauvegarde
    Bonjour,

    J'essaye de créer un petit script simple pour faire une sauvegarde complète depuis mon ordi vers une clé USB. Je commence par vérifier si les dossiers existent, si oui, je les suppriment, puis j'y copie mes dossiers.
    Et j'ai quelques soucis évidemment.

    Déjà, le dossier de destination n'a pas la même taille ni le même nombre de fichiers que l'original. J'utilise simplement la commande cp, j'ai regardé ses options.

    En plus, je ne sais pas comment tester l'existence des dossiers puis continuer pour faire la copie.
    Si je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if [ -d "divers" ];then
    rm -rf divers;
     else
     echo "divers n'existe pas"
     fi
    Le script s'arrête ensuite. Je ne sais pas comment tester l'existence de plusieurs dossiers puis passer ensuite à la copie quelque soit le résultat du test. J'espère être assez clair..?

    Voilà comment je fais la copie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    cd /home/user
     
    cp -vpfR divers /media/user/CLE_SAVE/saveT2
    Si quelqu'un peu me renseigner svp ?
    Merci d'avance,
    Cordialement,

    ANDRE Ani

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 128
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 128
    Par défaut
    Salut,

    Vit' fait, les sauvegardes se font avec rsync, qui est fait pour ça. Il y a plein d'exemples sur le web, tu devrais y trouver ton bonheur.

  3. #3
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Ok, merci, je vais voir ça ;-)

  4. #4
    Membre expérimenté Avatar de silfun1
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mars 2015
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2015
    Messages : 135
    Par défaut
    Bonsoir LostSoul, bonsoir à tous,

    Pourquoi veux-tu tester la presence de dossiers, et les supprimer ?

    Comme dit JIpete, rsync fait bien le boulot. il y a telement de parametres, que tu peut faire bcp de choses avec cet outil!

    Voici un petit exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    SOURCEDIR=/home/user/Documents/
    DESTIDIR="/media/user/CLE_SAVE/saveT2"
     
    echo "Debut de la sauvegarde de $SOURCEDIR vers DESTIDIR..."
    rsync -avh --exclude="*.tmp" --delete $SOURCEDIR $DESTIDIR
     
    echo "Fin de la sauvegarde"

  5. #5
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Si je comprends bien, et d'après la page de man, l'option -h est pour l'aide. Ce serait plutôt -H pour préserver les liens non ?

    Et --delete sert à supprimer les fichiers sur le destinataire qui n'existent pas chez l'émetteur ?

    Bon, je vais tester pour voir. C'est pour mes sauvegardes, il faut donc quelque chose de fiable qui fasse ça bien, avec les bonnes options. Je vais voir.
    Merci ;-)

  6. #6
    Membre éclairé Avatar de lostsoul
    Homme Profil pro
    Rédacteur web, blogueur, développeur web junior
    Inscrit en
    Novembre 2003
    Messages
    762
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Rédacteur web, blogueur, développeur web junior
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2003
    Messages : 762
    Par défaut
    Voilà la commande que j'utilise pour rsync :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rsync -ah --progress --delete $SOURCEDIR1 $DESTIDIR
    Quasi identique à ton exemple. Et ça marche bien, merci ;-)

    Par contre, je n'ai pas trouvé comment déclarer plusieurs dossiers en même temps dans la variable $SOURCEDIR.
    Alors du coup, j'ai 5 $SOURCEDIR et 5 commandes rsync.

    Toujours un soucis de dossiers non identique après la copie, même avec rsync. C'est un dossier qui contient des profiles Firefox et Thunderbird. Il n'y a que ce dossier là qui est différent sur $DESTDIR.
    J'ai même droit à un message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1183) [sender=3.1.0]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Script simple de sauvegarde
    Par valentin37 dans le forum Word
    Réponses: 1
    Dernier message: 20/12/2010, 17h38
  2. script DOS pour sauvegarde
    Par edouard21 dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/09/2006, 21h36
  3. Un script simple
    Par jalilc dans le forum Linux
    Réponses: 11
    Dernier message: 29/05/2006, 10h42
  4. petit script simple
    Par frjover dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 01/04/2006, 09h31
  5. Script simple en csh
    Par FinalSpirit dans le forum Linux
    Réponses: 10
    Dernier message: 02/01/2006, 22h37

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