Forum Linux.général Copie d'un dossier en excluent un sous dossier

Posté par  .
Étiquettes : aucune
2
30
sept.
2009
Bonjour,

Je ne suis pas encore très alaise sous Linux, mais je voudrais copier l'ensemble d'un dossier (le /home, par exemple ^^) sans copier un dossier (et son contenue :þ ) qui se trouve dans chaque sous dossier.

Donc : copier tout le contenu de /home sans copier par exemple :
"/home/*/toto", avec * qui correspond aux sous dossiers (ici les dossier de chaque user)

Vous seriez comment faire ?

Merci.
  • # pas sur avec CP

    Posté par  . Évalué à 4.

    cp ne semble pas proposer de systeme d'exclusion

    par contre rsync oui

    --exclude=PATTERN exclude files matching PATTERN
    --exclude-from=FILE read exclude patterns from FILE


    ce qui pourrait donner
    rsync -avz --exclude=*.c /home/ dest/

    ou pour ne pas prendre en compte les dossiers listés dans le fichier /tmp/exclusion
    rsync -avz --exclude-from=/tmp/exclusion /home/ dest/
  • # man rsync

    Posté par  . Évalué à 2.

    rsync -autv /home/* --exclude=toto test

    te copiera tout dans test sauf les repertoires/fichiers ayant la chaine toto
    • [^] # Re: man rsync

      Posté par  . Évalué à 1.

      ok, merci pour vos réponse.

      erf, il ne connais pas la commande rsync :s

      je vais voire si je peut trouver ou elle est pour l'installer.
      • [^] # Re: man rsync

        Posté par  . Évalué à 3.

        sous linux je ne connais pas de distrubution que ne l'installe pas par defaut... Et sinon :

        apt-get install rsync (debian/ubuntu)
        uprmi rsync (mandriva)
        zypper install rsync (suse)
        pisi install rsync (pardus)
        yum install rsync (fedora)

        Apres si c'est un autre systeme je peux rien dire.
        • [^] # Re: man rsync

          Posté par  . Évalué à 1.

          Oui merci, j'ai fait : apt-get install rsync
          pour l'installer, je suis sur une debian.

          et j'ai pu tester : rsync -autv /home/* --exclude=toto test_destination/

          et ca marche, merci beaucoup,
          Je ne connaissais pas cette fonction :c
          en plus ca garde les attribut des fichiers/dossiers. ^^
          • [^] # Re: man rsync

            Posté par  . Évalué à 3.

            rsync permet de synchroniser des dossiers locaux ou distants

            de reprendre là ou il en etait en cas de coupure reseau par ex

            tu vas voir, c'est tres pratique
            • [^] # Re: man rsync

              Posté par  . Évalué à 1.

              Ouai j'imagine, encore merci a vous.


              Et j'ai aussi réussi a faire l'inverse :)

              Copier uniquement les dossiers 'toto' et leur contenue (en garden quand même l'arborescence ^^)

              En se positionnent dans le répertoire /home et en rajoutent l'option -R :
              rsync -autvR ./*/toto/ ../test_destination2/

              Se positionner dans le /home permet a ce qu'il ne copie pas arborescence depuis le /home, mais qu'il commence juste après.
              (pour ne pas avoir : test_destination2/home/*/toto mais pour avoir : test_destination2/*/toto )

              Pour ceux qui chercherais :)
              ++

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.