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.
cd /path/to/directories &&
find . -type d -exec mkdir -p -- /path/to/backup/{} \;
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 ici