Voici la structure du répertoire:
/a/
/a/b/
/a/c/
Je veux tout copier, SAUF pour le sous-répertoire / a / c /.
scp -rp myserver:/a . # this will copy everything
Q: Comment pourrais-je spécifier un répertoire à supprimer dans la commande scp?
Réponses:
Je ne pense pas que vous puissiez, mais vous pourriez utiliser rsync? Quelque chose comme ça:
la source
Je pense que cela pourrait être la bonne façon de le faire, donc vous utilisez toujours SSH, je n'ai pas trouvé de moyen de le faire avec scp - mais l'utilisation de rsync sur ssh pourrait le résoudre.
Si vous utilisez le commutateur -n, il créera une exécution à sec du processus:
la source
-rz
:-e "ssh -i private.pem" -rz 'users@server:/full/path/'
.Vous pouvez utiliser la globalisation étendue comme dans l'exemple ci-dessous:
la source
Ce n'est pas le moyen idéal de le faire, mais définissez le sous-répertoire que vous souhaitez exclure en lecture seule.
chmod -R 444 /a/c
devrait faire l'affaire. Vous obtiendrez une erreur "permission refusée" lorsqu'il essaiera d'écraser ce répertoire.la source