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 clonage vdi et de sauvegarde dans un autre disque


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien réseaux télécom
    Inscrit en
    Juin 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2013
    Messages : 37
    Par défaut Script de clonage vdi et de sauvegarde dans un autre disque
    Bonjour,

    Je cherche a faire un script journalier qui me permètrais de faire un clone d'une VM virtual box et par la suite le copier sur idealement un nas avec comme condition avoir trois jour d'arièré et ecrit par exemple comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nas://backup/sauvegardeVM-31-12-2018/machinevirtuelle.vdi
    nas://backup/sauvegardeVM-01-01-2019/machinevirtuelle.vdi
    nas://backup/sauvegardeVM-02-01-2019/machinevirtuelle.vdi
    J'ai un début de code qui tourne dans (/etc/cron.daily) mais sachant que cp ce n'est pas le top j'ai pensé a rsync , l'autre point c'est comment intégré le clonage dans le script qui dois arrété la vm proprement, faire le clone et une fois fini executé la copie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/bash
     
    #La date du jour
    sauvdate=$(date +%d-%m-%Y)
     
    #repertoire de la sauvegarde
    repsauv=/home/user/Documents/sauvegardeVM-$sauvdate
     
    #creation du dossier
    /bin/mkdir $repsauv
     
    #lancement de la sauvegarde
    cp -r /home/user/VirtualBox\ VMs/windows10 $repsauv/windows10

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 117
    Par défaut
    Citation Envoyé par anje84 Voir le message
    Bonjour,

    Je cherche à faire un script journalier qui me permettrait de faire un clone d'une VM virtual box
    Tu devrais réfléchir au fait qu'un fichier .vdi peut peser quelques Go (machine de test) ou quelques centaines de Go ou plus (machine de prod), et si ça se trouve il n'y a, d'un jour sur l'autre, que quelques mégas utilisés.
    Faut-il alors vraiment recopier à chaque fois tout le .vdi ?

    Ne serait-il pas plus judicieux de monter le .vdi source et le .vdi destination dans des dossiers et faire tourner rsync sur ces dossiers pour ne recopier que ce qui est effectivement changé ?
    Et ensuite on démonte.
    Ça serait plus performant, àmha.

    Il faut juste blinder le script de tests dans tous les sens pour ne pas avoir de soucis.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien réseaux télécom
    Inscrit en
    Juin 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseaux télécom
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2013
    Messages : 37
    Par défaut
    Salut,

    C'est une installation que j'ai repris depuis deux semaines derrière un tech qui a laissé les droits d'admin au utilisateurs avec les risques que cela comporte.
    pour expliqué m'a démarche, il s'agit des pc d'une personne qui fait tourné des logiciel pour son activité professionnelle sous windows et les pc ont attrapés un ransonware (gandcrabV4) une grosse me** , cela fait deux fois que ça se passe en l'espace de deux ans...(j'ai même pas eu le temps de faire le tour de ses besoin et d'appliqué un protocole de sauvegarde et de sécurité, que cette galère m'est tombé dessus)

    Du coup il se retrouve avec tout ses bébés crypté et pas moyen de décrypter quoi que ce soit, j'ai reussi a joué avec les shadow copie mais je suis pas confiant, car ces salop**rie de virus savent bien ce caché dans des fichier pdf, exe , ect...


    Mon idée c'est de le faire tourné sur un hôte linux des vm windows avec des copies de vdi en prévoyance au cas ou le krab frappe a nouveau quelle grosse mer**ce truc put1. je ne veut pas travaillé directement sur des images montées avec une sauvegarde différentielle car si virus dormant il y a, j'ai au moins la possibilités d'avoir des images isolé entre elle, quand bien même elle peuvent être toutes vérolées...après je ne doute pas que Linux et aussi vulnérable mais au moins je me sent plus serein en isolant ces système windows, et puis si problème c'est plus facile de restauré le système complet avec ses logiciel et sa config plutôt que des sauvegardes de logiciel ou de répertoire.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 117
    Par défaut
    Citation Envoyé par anje84 Voir le message
    et puis si problème c'est plus facile de restaurer le système complet avec ses logiciels et sa config plutôt que des sauvegardes de logiciel ou de répertoire.
    Oui, mais moi, je ne parlais pas de restaurer, je parlais de sauvegarder au quotidien.

    Alors, recopier un fichier de plusieurs centaines de gigas juste parce qu'une dizaine de fichiers de quelques mégas ont besoin d'être sauvegardés, je trouve que c'est prendre une enclume pour écraser une mouche.

    Dans mon idée, la première sauvegarde d'une VM est obligatoirement longue puisque le fichier de destination est vide.
    Une fois cela fait, les deux fichiers sont identiques.
    Et si le lendemain tu modifies juste un fichier ini de quelques dizaines d'octets dans la VM, as-tu vraiment besoin de backuper tout le .vdi source ? Non ! Tu montes le source, tu montes le destination, tu lances rsync qui ne va backuper que le fichier ini modifié et voilà, tu démontes les vdi's et terminé.
    Au final, tu auras tout autant un fichier destination strictement identique au fichier source, tout en ayant économisé beaucoup d'activité disque sur le système de sauvegarde, que veux-tu de plus ?

    Un dernier mot : si tu dois recopier avec rsync un fichier de 500 Go, il te faudra un espace disque libre sur la machine de sauvegarde de 500 Go car rsync ne va pas effacer le dernier fichier sauvegardé tant que la copie du nouveau fichier n'est pas terminée : faut de la place...
    Avec ma combine, pas besoin.

    Bon, maintenant, chacun fait comme il le sent.

  5. #5
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 256
    Par défaut
    Il n'y a pas d'obligation de monter les vdi pour faire un rsync dessus. rsync ne va pas recopier l'intégralité d'un gros fichier, uniquement les parties modifiés.

    Par ailleurs, pour sauvegarder correctement des fichiers de VM, celles-ci doivent au moins être suspendues.
    Les systèmes de sauvegardes de VM déclenchent en général un instantané pour figer le disque, le delta des modifs pendant la sauvegarde étant stocké dans l'instantané, et celui-ci devant être supprimé après (en intégrant les modifs dans le fichier principal). Il n'y a pas à ma connaissance de logiciel spécialisé dans les sauvegardes de VM Virtualbox, contrairement à VMWAre ou Hyper-V.

    Mais faire tourner des OS en VM juste pour éviter des virus n'est pas une bonne méthode à mon avis. Il te faut un système de sauvegarde avec versionning et surtout non accessible hors période de sauvegarde. Surtout que tu risques de te retrouver avec une VM vérolée sauvegardée et te rendre compte après de la situation.

    Je te conseilles plutôt d’utiliser un logiciel de sauvegarde incrémentielle de type Acronis, ou même l'outil de sauvegarde de Windows, le plus important étant que la destination de la sauvegarde ne doit pas être accessible en dehors du temps de sauvegarde.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 117
    Par défaut
    Salut,
    Citation Envoyé par chrtophe Voir le message
    Il n'y a pas d'obligation de monter les vdi pour faire un rsync dessus. rsync ne va pas recopier l'intégralité d'un gros fichier, uniquement les parties modifiés.
    T'es sûr de ton coup, là ?
    Ça ne m'était tellement pas venu à l'esprit que je n'ai jamais eu l'idée de faire des tests dans ce sens.

    Et c'est quoi, un gros fichier, vu par rsync ? À partir de quelle taille ?
    Et s'il doit emprunter cette voie, comment détecte-t-il les parties à recopier ?
    En comparant les deux fichiers byte à byte ?
    Me demande si c'est bien performant, ça...

    Merci de ton retour,

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

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

    rsync possède des options pour faire ce qui pourrait te convenir, mais je n'ai jamais testé et je ne connais pas la syntaxe : il va te falloir googler et tester (crée-toi une arbo de test et joue dessus avant de casser tout ton nas...)

    Un peu de lecture (man rsync) :
    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
           --delete
                  This tells rsync to delete extraneous files from the receiving side (ones that aren’t on the sending side), but only for the directories
                  that  are being synchronized.  You must have asked rsync to send the whole directory (e.g. "dir" or "dir/") without using a wildcard for
                  the directory’s contents (e.g. "dir/*") since the wildcard is expanded by the shell and rsync thus gets a request to transfer individual
                  files,  not  the files’ parent directory.  Files that are excluded from the transfer are also excluded from being deleted unless you use
                  the --delete-excluded option or mark the rules as only matching on the sending side (see the include/exclude  modifiers  in  the  FILTER
                  RULES section).
     
                  Prior  to rsync 2.6.7, this option would have no effect unless --recursive was enabled.  Beginning with 2.6.7, deletions will also occur
                  when --dirs (-d) is enabled, but only for directories whose contents are being copied.
     
                  This option can be dangerous if used incorrectly!  It is a very good idea to first try a run using the --dry-run option (-n) to see what
                  files are going to be deleted.
     
                  If the sending side detects any I/O errors, then the deletion of any files at the destination will be automatically disabled. This is to
                  prevent temporary filesystem failures (such as NFS errors) on the sending side from causing a massive deletion of files on the  destina‐
                  tion.  You can override this with the --ignore-errors option.
     
                  The  --delete  option may be combined with one of the --delete-WHEN options without conflict, as well as --delete-excluded.  However, if
                  none of the --delete-WHEN options are specified, rsync will choose the --delete-during algorithm when talking to rsync 3.0.0  or  newer,
                  and the --delete-before algorithm when talking to an older rsync.  See also --delete-delay and --delete-after.
     
           --delete-before
                  Request  that  the  file-deletions  on  the receiving side be done before the transfer starts.  See --delete (which is implied) for more
                  details on file-deletion.
     
                  Deleting before the transfer is helpful if the filesystem is tight for space and removing extraneous files would help to make the trans‐
                  fer  possible.   However, it does introduce a delay before the start of the transfer, and this delay might cause the transfer to timeout
                  (if --timeout was specified).  It also forces rsync to use the old, non-incremental recursion algorithm that requires rsync to scan  all
                  the files in the transfer into memory at once (see --recursive).
     
           --delete-during, --del
                  Request  that  the file-deletions on the receiving side be done incrementally as the transfer happens.  The per-directory delete scan is
                  done right before each directory is checked for updates, so it behaves like a more efficient --delete-before, including doing the  dele‐
                  tions  prior  to any per-directory filter files being updated.  This option was first added in rsync version 2.6.4.  See --delete (which
                  is implied) for more details on file-deletion.
     
           --delete-delay
                  Request that the file-deletions on the receiving side be computed during the transfer (like --delete-during), and then removed after the
                  transfer  completes.   This is useful when combined with --delay-updates and/or --fuzzy, and is more efficient than using --delete-after
                  (but can behave differently, since --delete-after computes the deletions in a separate pass after all updates are done).  If the  number
                  of  removed  files overflows an internal buffer, a temporary file will be created on the receiving side to hold the names (it is removed
                  while open, so you shouldn’t see it during the transfer).  If the creation of the temporary file fails, rsync will try to fall  back  to
                  using --delete-after (which it cannot do if --recursive is doing an incremental scan).  See --delete (which is implied) for more details
                  on file-deletion.
     
           --delete-after
                  Request that the file-deletions on the receiving side be done after the transfer has completed.  This is useful if you are  sending  new
                  per-directory  merge  files  as  a part of the transfer and you want their exclusions to take effect for the delete phase of the current
                  transfer.  It also forces rsync to use the old, non-incremental recursion algorithm that requires rsync to scan all  the  files  in  the
                  transfer into memory at once (see --recursive).  See --delete (which is implied) for more details on file-deletion.
     
           --delete-excluded
                  In  addition  to deleting the files on the receiving side that are not on the sending side, this tells rsync to also delete any files on
                  the receiving side that are excluded (see --exclude).  See the FILTER RULES section for a way to make individual exclusions behave  this
                  way  on  the  receiver,  and  for  a  way  to protect files from --delete-excluded.  See --delete (which is implied) for more details on
                  file-deletion.

  8. #8
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 256
    Par défaut
    l'option --delete de rsync ne permet que de supprimer les fichiers plus présents dans la source, pas de sélectionner ceux-ci selon un critère x ou y.

    Pour lancer une commande distante avec ssh :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ssh utilisateur@machine 'commande distante'
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

Discussions similaires

  1. Restaurer une sauvegarde sur un autre disque
    Par ptr83 dans le forum DB2
    Réponses: 1
    Dernier message: 28/12/2016, 19h03
  2. Réponses: 1
    Dernier message: 10/05/2016, 13h36
  3. Réponses: 8
    Dernier message: 19/10/2015, 19h03
  4. Restauration d'une sauvegarde dans une autre base
    Par CinePhil dans le forum Administration
    Réponses: 5
    Dernier message: 04/01/2012, 12h09
  5. [MySQL] Dev. script de nettoyage donnéese mal sauvegardées dans DB utf8_general_ci
    Par dev_web2 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/12/2009, 10h32

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