sont les deux ordinateur sont linux et ce sont des liens symboliques?
Matthieu
dir ont des liens simboliques
jennifer
Réponses:
9
Si je comprends bien ce que tu veux. Vous voulez exactement refléter dir sur la machine locale et dir_target sur linux, et le contenu du lien symbolique est copié, plutôt que de copier le lien symbolique lui-même. Pour faire une copie exacte, vous devez utiliser rsync au lieu de scp.
rsync -Wav --progress dir linux:dir_target
Je soupçonne que cela aura le résultat souhaité. De façon générale, j’utilise quand même rsync car il ne copie que les fichiers qui doivent être copiés et est généralement plus intelligent que scp.
Cependant, des alternatives existent. Vous pourriez:
Utilisez tar cvfzpour compresser le dossier (tar préservera les liens); puis scp le fichier tar
Utilisez le rsync -e sshcommutateur pour synchroniser sur SSH (par exemple rsync -ave ssh /src/dir user@hostname:/folder)
Utilisez une commande comme celle-ci pour rechercher et répertorier les liens symboliques, puis recréez-les de l'autre côté (pas génial, mais j'ai envisagé de le mettre en œuvre moi-même):
Réponses:
Si je comprends bien ce que tu veux. Vous voulez exactement refléter dir sur la machine locale et dir_target sur linux, et le contenu du lien symbolique est copié, plutôt que de copier le lien symbolique lui-même. Pour faire une copie exacte, vous devez utiliser rsync au lieu de scp.
Je soupçonne que cela aura le résultat souhaité. De façon générale, j’utilise quand même rsync car il ne copie que les fichiers qui doivent être copiés et est généralement plus intelligent que scp.
la source
C'est une bonne question. Malheureusement, scp ne copie pas les liens symboliques et il semble qu'il ne soit pas prévu de les ajouter: https://bugzilla.mindrot.org/show_bug.cgi?id=485 .
Cependant, des alternatives existent. Vous pourriez:
tar cvfz
pour compresser le dossier (tar préservera les liens); puis scp le fichier tarrsync -e ssh
commutateur pour synchroniser sur SSH (par exemplersync -ave ssh /src/dir user@hostname:/folder
)Utilisez une commande comme celle-ci pour rechercher et répertorier les liens symboliques, puis recréez-les de l'autre côté (pas génial, mais j'ai envisagé de le mettre en œuvre moi-même):
ls -la `find openddr_ODRINT1/ -type l`
la source