Làm thế nào để tải xuống một luồng bằng ssh?


2

trên một máy từ xa, tôi muốn khởi chạy một lệnh từ từ tạo ra một luồng lớn (nén luồng) và đồng thời bắt đầu tải xuống luồng đó. Trước tiên tôi không muốn lưu luồng trong một tệp trên remote vì phải mất thời gian để tạo toàn bộ nội dung và sau đó phải mất thời gian để tải xuống. tôi muốn nén và tải xuống song song để tiết kiệm thời gian. tôi có thể ssh / scp đến máy từ xa

tôi đã thấy: Làm thế nào để tôi lấy đầu ra (rất lớn) của một lệnh trực tiếp đến một máy từ xa?

nhưng tôi muốn kéo, không đẩy

Câu trả lời:


6

Bạn có thể làm theo cách tương tự:

ssh -T user@example.com 'producing_command' > big.txt

Chỉ cần chạy lệnh sản xuất trên máy chủ và ghi vào tệp cục bộ.


1

Mặc dù tôi đồng ý với câu trả lời về đầu ra đường ống thông qua STDOUT và thông qua SSH, tôi muốn cung cấp một biến thể của phối cảnh:

Bạn có thể sử dụng SSHfs (một hệ thống tập tin FUSE) trên máy từ xa để gắn một thư mục từ máy cục bộ của bạn và sau đó ghi vào nó. Nếu cần, điều này có thể được chuyển trở lại thông qua một kết nối từ máy cục bộ của bạn đến máy từ xa.

Ví dụ A:

LOCAL$  ssh user@remotemachine.tld
REMOTE$ sshfs user@localmachine.tld:/directory/on/localmachine /directory/on/remotemachine
REMOTE$ bigstreamcommand >/directory/on/remotemachine/bigstreamfile

Kết quả là, đầu ra sẽ được ghi chậm vào / thư mục / on / localmachine / bigstreamfile

Nếu bạn không thể truy cập máy cục bộ từ máy từ xa bằng SSH trực tiếp (NAT không có cổng chuyển tiếp, CGNAT, tường lửa, ...) thì hãy làm theo
Ví dụ B:

LOCAL$  ssh user@remotemachine.tld -R54223:localhost:22
REMOTE$ sshfs -p54223 user@localhost:/directory/on/localmachine /directory/on/remotemachine
REMOTE$ bigstreamcommand >/directory/on/remotemachine/bigstreamfile

Yêu cầu duy nhất để ví dụ B hoạt động là, bạn đang chạy máy chủ SSH trên máy cục bộ của mình. Bạn kết nối sshfs với localhost: 54223, vì đó là một đường hầm ngược từ máy từ xa, chuyển hướng tất cả các kết nối trở lại thông qua kết nối SSH ban đầu của bạn và đến máy chủ SSH trên máy cục bộ của bạn.

Có thể không đơn giản như vậy, nhưng theo nghĩa linh hoạt hơn, bạn có thể thực hiện các thao tác tệp tùy ý từ máy từ xa, trực tiếp trên hệ thống tệp cục bộ của mình. Tôi không khuyên bạn nên chạy các lệnh cần đọc nhiều dữ liệu thông qua điều này, vì điều đó tất nhiên sẽ cần phải được gửi từ máy cục bộ của bạn đến máy từ xa, trên các kết nối dân cư, có xu hướng chậm. Viết các tệp lớn vào máy cục bộ của bạn sẽ nhanh hơn nhiều, giống như băng thông tải xuống lớn hơn cho các kết nối dân cư.

Để biết thêm chi tiết, xin vui lòng đọc lại và sau đó tham khảo ý kiến man sshfs.

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.