C'est toute la puissance de l'association des commandes sous Linux, et en particulier celle de la commande find. L'intérêt est de montrer l'utilisation correcte de la commande find (et éviter les chainages hasardeux avec ls/sed/cut etc...) , et que l'on peut bâtir de très nombreuses variantes sur ce principe - même pour des opérations plus simples - .
Comment reproduire toute l'arborescence d'un répertoire local donné - sans son contenu - sur un serveur distant :
C'est une seule et même ligne de commandes chainées, décomposées comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 find /home/repertoire_local/ -type d -print0 | \ ssh -p port user@server \ 'while read -r -d "$(printf "\000")" -r dir; do test -d "$dir" || mkdir -p "$dir"; done'
1ere ligne: on cherche les répertoires dans /home/repertoire_local/ ,
2eme ligne : on se connecte en ssh au serveur distant,
3eme ligne: sur le serveur connecté, on boucle sur les noms de répertoires locaux trouvés par find et on les crée s'ils n'existent pas.
Partager