153 votes

Copier la structure des dossiers (sans fichiers) d'un emplacement à un autre

Je veux créer un clone de la structure de notre serveur de fichiers de plusieurs téraoctets. Je sais que cp --parents peut déplacer un fichier et sa structure parent, mais existe-t-il un moyen de copier la structure de répertoire intacte?

Je veux copier sur un système Linux et notre serveur de fichiers est monté CIFS là-bas.

248voto

Greg Hewgill Points 356191

Vous pourriez faire quelque chose comme :

 find . -type d > dirs.txt

pour créer la liste des répertoires, puis

 xargs mkdir -p < dirs.txt

pour créer les répertoires sur la destination.

104voto

amphetamachine Points 7384
cd /path/to/directories &&
find . -type d -exec mkdir -p -- /path/to/backup/{} \;

69voto

Gildas Points 404

Voici une solution simple utilisant rsync :

 rsync -av -f"+ */" -f"- *" "$source" "$target"
  • une ligne
  • aucun problème avec les espaces
  • préserver les autorisations

j'ai trouvé cette solution là

10voto

zerodin Points 560

Je ne sais pas si vous cherchez une solution sur Linux. Si oui, tu peux essayer ceci :

 $ mkdir destdir
$ cd sourcedir
$ find . -type d | cpio -pdvm destdir

9voto

toliveira Points 731

Cela copie les attributs des répertoires et des fichiers, mais pas les données des fichiers :

 cp -R --attributes-only SOURCE DEST

Ensuite, vous pouvez supprimer les attributs des fichiers si ceux-ci ne vous intéressent pas :

 find DEST -type f -exec rm {} \;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X