Copie de fichiers avec certaines extensions avec scp


19

Je veux copier .jpget les .pngfichiers avec scp, mais il y a des fichiers avec différentes extensions dans le même dossier que je copie. Je fais ce qui suit:

scp user@someRemoteHost.com:/folder/*.{jpg,png} .

On me demande d'entrer mon mot de passe pour chaque type d'extension. Existe-t-il un moyen de procéder de telle manière que je ne saisisse mon mot de passe qu'une seule fois?

Réponses:


31

Il suffit de le remplacer par:

scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .

Veuillez noter la paire de guillemets simples. Dans votre cas, votre shell local évalue l'expression, la transformant vraiment en:

scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .

d'où les deux mots de passe demandés. Dans cette solution, la paire de guillemets simples le protège de l'évaluation par le shell local, c'est donc le shell distant appelé par (le distant) scp qui évalue l'expression.


Comment puis-je inclure tous les sous-répertoires de ce répertoire?
xxx ---

@ pushpen.paul Si vous n'avez pas besoin de sélectionner uniquement les fichiers png et jpg mais que vous souhaitez tout copier, alors utiliser par exemple scp -r user@someRemoteHost.com:'/folder' . devrait le faire. Sinon, si vous souhaitez toujours copier uniquement png et jpg dans ces sous-répertoires, vous ne pouvez probablement pas utiliser scp ou sftp (sauf si sftp / lftp avec un script personnalisé possible) mais devez exécuter quelque chose comme ssh + une paire de tar à la place. Vous devrez alors poser votre propre question avec les besoins spécifiques.
AB

7

Mieux vaut utiliser rsync pour copier les opérations entre les serveurs.

 rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath

En utilisant rsync, il ne demandera le mot de passe qu'une seule fois.

Également dans rsync lors du transfert du fichier, il vérifiera l'emplacement cible si le fichier existe ou non et vérifiera également si le contenu est identique ou non à l'emplacement source et à l'emplacement cible.

Si le fichier existe également à l'emplacement cible et que le contenu est également le même, il ne copiera pas ce fichier. Il copiera uniquement les fichiers qui n'existent pas à l'emplacement cible, ce qui réduit le temps de traitement.

rsync est souvent utilisé comme outil de sauvegarde incrémentielle.


8
Peu importe s'il est utilisé rsyncou scp, le fait est qu'il /folder/*.{jpg,png}faut le citer '/folder/*.{jpg,png}' .
αғsнιη
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.