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 [email protected]:/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?

nitrate de sodium
la source

Réponses:

31

Il suffit de le remplacer par:

scp [email protected]:'/folder/*.{jpg,png}' .

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

scp [email protected]:/folder/*.jpg [email protected]:/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.

UN B
la source
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 [email protected]:'/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 [email protected]:/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.

Praveen Kumar BS
la source
8
Peu importe s'il est utilisé rsyncou scp, le fait est qu'il /folder/*.{jpg,png}faut le citer '/folder/*.{jpg,png}' .
αғsнιη