Pourquoi la scp
commande ne copie- t-elle pas les liens de l'ordinateur local à l'autre?
scp -rp dir linux:/dir_target
Comment puis-je copier les liens lorsque dans le répertoire source j'ai à la fois des fichiers et des liens?
Pourquoi la scp
commande ne copie- t-elle pas les liens de l'ordinateur local à l'autre?
scp -rp dir linux:/dir_target
Comment puis-je copier les liens lorsque dans le répertoire source j'ai à la fois des fichiers et des liens?
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.
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.
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 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):
ls -la `find openddr_ODRINT1/ -type l`