Chuyển tập tin đơn giản


Câu trả lời:


22

Tôi sử dụng scp.

scp source desthost:/path/to/dest/.

để sao chép từ máy cục bộ sang máy từ xa, hoặc

scp srchost:/path/to/file/file .

để sao chép từ một máy từ xa sang máy cục bộ.

Nếu tên người dùng không giống nhau trên máy từ xa,

scp user@srchost:/path/to/file/file .

3
Tôi sẽ thêm bạn có thể sử dụng tùy chọn -r với scp để sao chép đệ quy toàn bộ thư mục scp -r source Desthost: / path / to / Dest /
Steve Burdine

1
@Steve_ Điểm tốt. Ngoài ra -C sẽ nén các tệp khi chúng đang được chuyển, có thể giúp vượt qua các liên kết chậm.
KeithB

Đó là scphoặc rsynccho tôi.
Josh K

6

Tôi thường gắn một thư mục thông qua ssh thông qua FUSE và sshfs.

Núi:

$ sshfs name@server:/path/to/dir /path/to/mount/point

Vượt qua

$ fusermount -u /path/to/mount/point

5

Tôi sử dụng netcat (nếu tôi không cần bảo mật)

nc -l -p 1234 < send_file   # 'server'
nc x.y.z.t 1234 > receive_file  # 'client'

2
Tôi đặc biệt thích combo này:tar -c files and folders/ |pv -cN in|lzop|pv -cN out|nc x.y.z.t 1234
jpc

5

nfs có thể hữu ích.

Hệ thống tệp mạng (NFS) cho phép một nút máy khách thực hiện truy cập tệp trong suốt qua mạng. Bằng cách sử dụng NFS, một nút máy khách hoạt động trên các tệp nằm trên nhiều máy chủ và kiến ​​trúc máy chủ và trên nhiều hệ điều hành khác nhau. Các cuộc gọi truy cập tệp trên máy khách (như yêu cầu đọc) được chuyển đổi thành yêu cầu giao thức NFS và được gửi đến hệ thống máy chủ qua mạng.

Bạn có thể yêu cầu trợ giúp từ Quản trị viên Unix của bạn để thiết lập lần đầu tiên nhưng nó rất hữu ích.


Đối với chuyển nhanh-n-bẩn * nix-to- * nix, không có gì đến gần với NFS. Một quản trị viên giỏi có thể điều chỉnh cả hai hộp và thực hiện chuyển khoản trong vòng chưa đầy 5 phút, nó gần như trong suốt với phần còn lại của hệ thống, và nó nổi tiếng và ổn định. +1 cho một cái gì đó không yêu cầu đập ra một dòng lệnh mỗi lần để chuyển một cái gì đó.
Avery Payne

2

Đối với một lần chuyển tập tin, tôi thường sử dụng SFTP hoặc chia sẻ samba hiện có.

Để giữ đồng bộ hóa, tôi khuyên bạn nên thử rsync hoặc unison (để đồng bộ hóa 2 chiều)

Chỉnh sửa: scp sẽ tốt hơn sau đó sftp, vì nó sẽ hoạt động trên tất cả các máy chủ hỗ trợ SSH


2

Để thực hiện sao lưu, tôi thường sử dụng rsync. Nếu tôi muốn sao lưu vào một máy từ xa, tôi sẽ đặt một dòng vào / etc / fstab để giữ cho máy từ xa được gắn bởi NFS hoặc CFIS (Samba).

192.168.0.101:/ /mnt/backup nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Sau đó, có một dòng trong crontab của tôi bằng cách sử dụng rsync.

rsync -av /home/user/sourcedir/ /mnt/backup/destinationdir > /home/user/backup.log

1

netcat là đơn giản nhưng không phải tất cả các phiên bản kết nối chặt chẽ đáng tin cậy.

Đây là chủ đề về cách sử dụng socat: chuyển tập tin đáng tin cậy socat qua TCP

Tóm lại:

Đề xuất :

Máy chủ gửi tập tin:

server$ socat -u FILE:test.dat TCP-LISTEN:9876,reuseaddr
client$ socat -u TCP:127.0.0.1:9876 OPEN:out.dat,creat

Máy chủ nhận tệp:

server$ socat -u TCP-LISTEN:9876,reuseaddr OPEN:out.txt,creat && cat out.txt
client$ socat -u FILE:test.txt TCP:127.0.0.1:9876

Đề xuất cải tiến :

  • OPEN:out.txt,creat,truncsẽ xóa tất cả các byte trong out.txttrước khi ghi vào nó. Tùy chọn này bắt chước những gì bạn mong đợi cpvà có thể là những gì bạn muốn.
  • OPEN:out.txt,creat,exclsẽ từ chối viết out.txtnếu nó đã tồn tại. Sử dụng tùy chọn này để thêm an toàn.
  • OPEN:out.txt,creat,appendsẽ nối thêm dữ liệu vào out.txt.

1

Giver là một ứng dụng chia sẻ tập tin máy tính để bàn đơn giản. Những người khác đang chạy Giver trên mạng của bạn sẽ tự động được phát hiện và bạn có thể gửi tệp cho họ bằng cách kéo các tệp vào ảnh hoặc biểu tượng của họ được hiển thị trong Giver.

Trong Ubuntu:

sudo apt-get install giver

0

Ngoài ra, bạn có thể sử dụng chương trình Giver . Sử dụng nó, bạn có thể chuyển tệp qua mạng LAN với 2 lần nhấp hoặc bằng cách "kéo" tập tin "đến người nhận. Người nhận (cũng phải chạy giver) được phát hiện qua Zeroconf, vì vậy bạn không cần phải biết IP của họ. Đây là video về cách Giver hoạt động .


2
Như ai đó đã từng làm việc trên Giver trong quá khứ, tôi có thể nói đây là một ứng dụng gọn gàng, nhưng nó hoàn toàn không rõ ràng và có rất nhiều lỗi, đặc biệt là khi chuyển các tệp lớn. Đừng mong đợi nhiều từ nó.
Sandy

@Sandy có, tôi biết lỗi. Trong trường hợp của tôi, các tệp 1.4G đã được chuyển thành công. Dù sao, sử dụng Giver vẫn trông dễ dàng hơn nhiều so với NFS / rsync / nc / bất cứ điều gì.
Andrei Dziahel

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.