Kopiowanie plików z określonymi rozszerzeniami za pomocą scp


19

Chcę skopiować .jpgi .pngpliki z scp, ale w tym samym folderze, z którego kopiuję, są pliki o różnych rozszerzeniach. Wykonuję następujące czynności:

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

Zostaniesz poproszony o podanie hasła dla każdego typu rozszerzenia. Czy istnieje sposób, aby to zrobić w taki sposób, że hasło wprowadzę tylko raz?

Odpowiedzi:


31

Po prostu zamień na:

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

Proszę zwrócić uwagę na parę pojedynczych cytatów. W twoim przypadku lokalna powłoka ocenia wyrażenie, przekształcając je naprawdę w:

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

stąd dwa pytania o hasło. W tym rozwiązaniu para pojedynczych cudzysłowów chroni je przed oceną przez lokalną powłokę, więc jest to zdalna powłoka wywoływana przez (zdalny) scp, który ocenia wyrażenie.


Jak mogę dołączyć wszystkie podkatalogi tego katalogu?
xxx ---

@ pushpen.paul Jeśli nie musisz wybierać tylko plików png i jpg, ale chcesz skopiować wszystko, użyj na przykład scp -r user@someRemoteHost.com:'/folder' . tego. Jeśli nadal chcesz skopiować tylko png i jpg w tych podkatalogach, prawdopodobnie nie możesz użyć scp lub sftp (chyba że sftp / lftp z możliwym niestandardowym skryptem), ale zamiast tego musisz uruchomić coś takiego jak ssh + para tar. Musiałbyś wtedy zadać własne pytanie z konkretnymi potrzebami.
AB

7

Lepiej używać rsync do kopiowania operacji między serwerami.

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

Przy użyciu rsync poprosi o hasło tylko raz.

Również w rsync podczas przesyłania pliku sprawdzi w lokalizacji docelowej, czy plik istnieje, czy nie, a także sprawdzi, czy zawartość jest taka sama, czy nie w lokalizacji źródłowej i docelowej.

Jeśli plik istnieje również w lokalizacji docelowej, a zawartość jest taka sama, to nie skopiuje tego pliku. Skopiuje tylko pliki, które nie istnieją w docelowej lokalizacji, dzięki czemu skraca czas przetwarzania.

rsync jest często używany jako narzędzie do tworzenia przyrostowych kopii zapasowych.


8
Bez względu na to, czy zostanie użyty, rsyncczy scpchodzi o to, /folder/*.{jpg,png}aby cytować '/folder/*.{jpg,png}' .
αғsнιη
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.