คู่มือนี้อธิบายวิธีใช้ ncftpget เพื่อดาวน์โหลดไฟล์และโฟลเดอร์ทั้งหมดจากเซิร์ฟเวอร์ FTP แบบ Recursive (รวมโฟลเดอร์ย่อย) ใน Linux
สถานการณ์ตัวอย่าง
ต้องการย้ายข้อมูลจากโฮสติ้งเก่าที่ให้แค่ FTP ไปยังเซิร์ฟเวอร์ใหม่ที่มี SSH และ Linux เต็มรูปแบบ
คำสั่งหลัก
# ncftpget -R -v -u "remoteuser" -p "password" ftp://remoteserver.com /home/localdir /remotedir
คำอธิบายพารามิเตอร์
| พารามิเตอร์ | คำอธิบาย |
|---|---|
-R | ดาวน์โหลดแบบ Recursive (รวมโฟลเดอร์ย่อยทั้งหมด) |
-v | แสดงผลแบบ Verbose (รายละเอียดระหว่างดาวน์โหลด) |
-u "username" | ชื่อผู้ใช้ FTP |
-p "password" | รหัสผ่าน FTP |
ftp://remoteserver.com | IP หรือโดเมนของเซิร์ฟเวอร์ FTP ต้นทาง |
/home/localdir | โฟลเดอร์ปลายทางในเครื่องโลคัล (ที่จะเก็บไฟล์) |
/remotedir | โฟลเดอร์ต้นทางในเซิร์ฟเวอร์ FTP ที่ต้องการดาวน์โหลด |
ข้อควรระวัง
- อย่าสลับตำแหน่ง Local และ Remote directory - จะทำให้เขียนทับข้อมูลผิดที่
- ncftp มักติดตั้งมาพร้อมกับ Linux distributions ส่วนใหญ่แล้ว
- หากไม่มี ให้ติดตั้งด้วย
apt install ncftp(Ubuntu/Debian) หรือyum install ncftp(CentOS/RHEL)
ทางเลือกอื่น
- lftp - FTP client ที่ทรงพลังกว่า รองรับ mirror command
- wget -r ftp://... - ใช้ wget ดาวน์โหลดแบบ recursive ได้เช่นกัน
- rsync over SSH - หากเซิร์ฟเวอร์ใหม่มี SSH แล้ว ใช้ rsync จะเร็วและปลอดภัยกว่า
คำสั่ง ncftpget เป็นวิธีที่ตรงไปตรงมาและน่าเชื่อถือสำหรับการย้ายข้อมือผ่าน FTP แบบ recursive