quét nhiều tệp trong một lần - đến nhiều đích trên một máy chủ đích?


9

Tôi muốn quét khoảng nửa tá tệp trong một vài thư mục vào cùng một thư mục trên máy đích.

Không sử dụng các phím ssh, điều này có thể thực hiện được trong một cuộc gọi không?

Ví dụ:

scp /path/to/fileA,/anoth/erpath/to/fileB,/yet/more/files/*    #continue next line
    destination:/path/to,/anoth/erpath/to,/yet/more/files

Câu trả lời:


8

Nén các tập tin ở phía gửi và giải nén chúng ở phía nhận.

tar -cf - /path/to/fileA /anoth/erpath/to/fileB /yet/more/files/* |
ssh -C destination 'cd / && tar -xf -'

Bạn cũng có thể kịch bản một phiên sftp hoặc sử dụng rsync với bộ lọc phù hợp.


nếu bạn chỉ có một vài tệp bạn phải sao chép tổng cộng thì tôi đánh giá cao scp -rgiải pháp. nhưng để biết thêm điều này nhanh hơn nhiều.
xaedes

4

Bạn có thể sao chép từ nhiều src đến một đích. scp -r src1 src2 ... dst Nhưng không đến nhiều điểm đến.

Một tùy chọn là sao chép tất cả thư mục vào thư mục đích tạm thời. Sau đó di chuyển chúng trở lại sau đó.


cái này hoạt động tốt như giải pháp tar-ssh. cộng với nó là dễ dàng hơn để gõ / nhớ. nó cũng cung cấp cho bạn thông tin phản hồi những gì đang được tải lên. NHƯNG nếu bạn có nhiều tệp nhỏ để sao chép tar-ssh sẽ nhanh hơn nhiều, vì nó chỉ phải chuyển một tệp lớn, trong khi scp-r sao chép từng tệp riêng lẻ với nhiều chi phí hơn.
xaedes

1

Nhìn vào psshgói. Nó có parallel-scplệnh. -htùy chọn cho phép bạn cung cấp tệp văn bản với nhiều máy chủ làm đích (một trên mỗi dòng).


điều này có cần phải hỏi mật khẩu mỗi khi một tệp từ A đến B không?
warren

2
Cho rằng tôi đang sử dụng ssh-add. Bạn nhập thông tin đăng nhập của bạn một lần vào đầu một ngày. Sau đó, bạn được đăng nhập tự động.
thường

0

Tôi sử dụng lệnh sau để sao chép nhiều tệp vào nhiều đích.

scp -r src {1,2,3} mệnh {1,2,3}

Lệnh này hoạt động giống như tập hợp các lệnh sau

scp -r src1 mệnh1

scp -r src1 mệnh2

.

.

.

scp -r src3 Dest2

scp -r src3 Dest3


Không hoạt động khi tôi cố gắng. ubuntu@landslide:~$ scp -r {test1,test2} landslide:/home/ubuntu/{test3,test4} scp: /home/ubuntu/test4: No such file or directoryNó muốn đích đến là một thư mục.
sudo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.