Копіювання файлів із певними розширеннями за допомогою 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, оцінює вираз.


Як я можу включити всі підкаталоги цього каталогу?
xxx ---

@ 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}' .
αғsnιη
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.