เมื่อให้กล่อง Linux สองกล่องบน LAN วิธีที่ง่ายที่สุดในการถ่ายโอนไฟล์ระหว่างกล่องคืออะไร
เมื่อให้กล่อง Linux สองกล่องบน LAN วิธีที่ง่ายที่สุดในการถ่ายโอนไฟล์ระหว่างกล่องคืออะไร
คำตอบ:
scp
ฉันใช้
scp source desthost:/path/to/dest/.
เพื่อคัดลอกจากเครื่องท้องถิ่นไปยังเครื่องระยะไกลหรือ
scp srchost:/path/to/file/file .
เพื่อคัดลอกจากเครื่องระยะไกลไปยังเครื่องท้องถิ่น
หากชื่อผู้ใช้ไม่เหมือนกันในเครื่องระยะไกล
scp user@srchost:/path/to/file/file .
scp
หรือrsync
สำหรับฉัน
ฉันมักจะติดไดเรกทอรีผ่าน ssh ผ่าน FUSE และ sshfs
ติดตั้ง:
$ sshfs name@server:/path/to/dir /path/to/mount/point
ยกเลิกการเชื่อมต่อ:
$ fusermount -u /path/to/mount/point
ฉันใช้ netcat (ถ้าฉันไม่ต้องการความปลอดภัย)
nc -l -p 1234 < send_file # 'server'
nc x.y.z.t 1234 > receive_file # 'client'
tar -c files and folders/ |pv -cN in|lzop|pv -cN out|nc x.y.z.t 1234
nfs อาจมีประโยชน์
Network File System (NFS) อนุญาตให้โหนดไคลเอ็นต์ดำเนินการเข้าถึงไฟล์แบบโปร่งใสผ่านเครือข่าย โดยการใช้ NFS โหนดไคลเอ็นต์จะทำงานกับไฟล์ที่อยู่บนเซิร์ฟเวอร์และสถาปัตยกรรมเซิร์ฟเวอร์ที่หลากหลายและข้ามระบบปฏิบัติการที่หลากหลาย การเรียกการเข้าถึงไฟล์บนไคลเอนต์ (เช่นการร้องขอเพื่ออ่าน) จะถูกแปลงเป็นคำร้องขอโปรโตคอล NFS และส่งไปยังระบบเซิร์ฟเวอร์ผ่านเครือข่าย
คุณอาจต้องการความช่วยเหลือจากผู้ดูแลระบบ Unix ของคุณเพื่อตั้งค่าครั้งแรก แต่มีประโยชน์มาก
สำหรับการสำรองข้อมูลฉันมักจะใช้ rsync หากฉันต้องการสำรองข้อมูลลงในเครื่องระยะไกลฉันจะใส่สายใน / etc / fstab เพื่อให้เครื่องระยะไกลติดตั้งโดย NFS หรือ CFIS (Samba)
192.168.0.101:/ /mnt/backup nfs rsize=8192,wsize=8192,timeo=14,intr 0 0
มีบรรทัดใน crontab ของฉันโดยใช้ rsync
rsync -av /home/user/sourcedir/ /mnt/backup/destinationdir > /home/user/backup.log
netcat นั้นง่าย แต่ไม่ทุกรุ่นปิดการเชื่อมต่ออย่างน่าเชื่อถือ
นี่คือหัวข้อเกี่ยวกับการใช้socat
:
socat การถ่ายโอนไฟล์ที่เชื่อถือได้ผ่าน TCP
หากต้องการสรุป:
ข้อเสนอ :
เซิร์ฟเวอร์กำลังส่งไฟล์:
server$ socat -u FILE:test.dat TCP-LISTEN:9876,reuseaddr client$ socat -u TCP:127.0.0.1:9876 OPEN:out.dat,creat
เซิร์ฟเวอร์ที่รับไฟล์:
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
OPEN:out.txt,creat,trunc
จะลบไบต์ทั้งหมดout.txt
ก่อนที่จะเขียนลงไป ตัวเลือกนี้เลียนแบบสิ่งที่คุณคาดหวังcp
และอาจเป็นสิ่งที่คุณต้องการOPEN:out.txt,creat,excl
จะปฏิเสธที่จะเขียนout.txt
ถ้ามันมีอยู่แล้ว ใช้ตัวเลือกนี้เพื่อความปลอดภัยเป็นพิเศษOPEN:out.txt,creat,append
out.txt
จะผนวกข้อมูลไปยัง
Giver เป็นแอปพลิเคชันเดสก์ท็อปการแชร์ไฟล์อย่างง่าย คนอื่นที่ใช้ Giver บนเครือข่ายของคุณจะถูกค้นพบโดยอัตโนมัติและคุณสามารถส่งไฟล์ไปยังพวกเขาได้โดยเพียงแค่ลากไฟล์ไปยังภาพถ่ายหรือไอคอนที่แสดงใน Giver
ใน Ubuntu:
sudo apt-get install giver
นอกจากนี้คุณสามารถใช้โปรแกรมผู้ให้ ใช้มันคุณสามารถถ่ายโอนไฟล์ผ่าน LAN ด้วย 2 คลิกหรือโดยไฟล์ "drag'n'dropping" ไปยังผู้รับ ผู้รับ (ซึ่งต้องทำงานด้วยgiver
) ถูกค้นพบผ่าน Zeroconf ดังนั้นคุณไม่จำเป็นต้องรู้แม้แต่ IP ของพวกเขา นี่คือวิดีโอเกี่ยวกับวิธีการทำงานของคนที่มอบให้
หากคุณไม่มีบัญชี (รหัสผ่าน) ในโฮสต์ที่รับคุณสามารถใช้ woos (เว็บนำเสนอหนึ่งสตรีม):
แสวงหาไฟล์หรือไดเรกทอรี