Копирование файлов с определенными расширениями с помощью scp


19

Я хочу скопировать .jpgи .pngфайлы scp, но в той же папке, из которой я копирую, есть файлы с разными расширениями. Я делаю следующее:

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

Меня просят ввести мой пароль для каждого типа добавочного номера. Есть ли способ сделать это так, чтобы я вводил свой пароль только один раз?

Ответы:


31

Просто замените его на:

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

Обратите внимание на пару одинарных кавычек. В вашем случае ваша локальная оболочка оценивает выражение, превращая его действительно в:

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

следовательно, два пароля спросил. В этом решении пара одинарных кавычек защищает его от оценки локальной оболочкой, поэтому это удаленная оболочка, вызываемая (удаленной) scp, которая оценивает выражение.


Как я могу включить все подкаталоги этого каталога?
ххх ---

@ pushpen.paul Если вам не нужно выбирать только файлы png и jpg, но вы хотите скопировать все, используйте, например scp -r user@someRemoteHost.com:'/folder' . , это. Иначе, если вы все еще хотите копировать только png и jpg в эти подкаталоги, вы, вероятно, не можете использовать scp или sftp (если только не sftp / lftp с возможным пользовательским скриптом), но вместо этого вам нужно запустить что-то вроде ssh + пара tar. Тогда вам придется задать свой вопрос с конкретными потребностями.
AB

7

Лучше использовать rsync для копирования операций между серверами.

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

Используя rsync, он запрашивает пароль только один раз.

Также в rsync при передаче файла он проверит в целевом местоположении, существует ли файл или нет, а также проверит, является ли содержимое одинаковым или нет в исходном и целевом расположении.

Если файл также существует в целевом расположении, а его содержимое также совпадает, он не будет копировать этот файл. Он будет копировать только те файлы, которые не существуют в целевом местоположении, поэтому он сокращает время обработки.

rsync часто используется как инструмент инкрементного резервного копирования.


8
Неважно, если используется rsyncили scp, дело в том, что /folder/*.{jpg,png}следует цитировать '/folder/*.{jpg,png}' .
августа
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.