linux centos โหลด FTP ไฟล์ทั้งหมด โดยไม่ใช้โปรแกรมช่วย

สั่งโหลดไฟล์ทั้งหมดผ่าน FTP โดยเขียนเพียง comman line บน linux ธรรมดาเท่านั้น ไม่ต้องติดตั้ง ftp client ตัวใดๆในเครื่องเลย

วันนี้จะต้องย้ายไฟล์ จาก server เครื่องหนึ่ง เข้าอีกเครื่องหนึ่ง จริงๆอาจจะไม่ใช่เรื่องยาก เราก็แค่โหลดลงเครื่อง แล้ว upload ขึ้นที่ใหม่ ก็ง่ายๆแค่นั้น แต่... มันไม่ง่ายอย่างนั้น เพราะว่าไฟล์รวมทั้งหมด ร่วมๆ 2 GB และไม่หนำซ้ำคือมีเป็นหมื่นๆไฟล์ และยังไม่แค่นั้น ข้อกำหนดคือ ห้ามติดตั้งโปรแกรมอะไรลงที่ server ด้วย และไม่สามารถใช้การ backup restore ได้ เพราะว่าระบบที่ทำงานนั้นแตกต่างกัน

แต่อย่างไรก็ดี มีตัวช่วยแค่ 1 ตัวเท่านั้น คือ เป็น linux ที่มี account shell เข้าเครื่องได้ (และ su root ได้ แต่ระบบทำงานเป็น command line เท่านั้นนะ)

เอาล่ะสิ เลยต้องหาวิธีโหลดที่ง่ายและเร็ว ซึ่งแน่นอน สิ่งแรกที่คิด ก็คือการ ftp โดยผ่าน shell นั่นแหล่ะ แต่หลังจากการทดสอบพบว่า ไม่สามารถใช้คำสั่ง

ftp> recursive mget *

ทำให้ต้องเปลี่ยนใหม่ หาวิธีจนกระทั่ง เจอที่นี่แนะนำ มาใช้ wget แทน เลยเขียนได้ดังนี้

wget -r -l0 -c -nH ftp://user: pass@domain --no-proxy

เท่านี้ก็เรียบร้อย ที่เหลือก็แค่รอให้เครื่อง server คุยกันเองเท่านั้น

ส่วน database หรืออีเมล์ ก็ไปไล่จัดการเอาต่างหาก เป็นอันจบไปอีก 1 job

นอกจากนี้ยังมี rsynce แต่อย่าลืม ว่าห้ามติดตั้ง client ใดๆ เลยตกไปครับ


เขียน: 2010-09-01 16:31:31 แก้ไข : 2010-09-01 16:31:31 อ่าน : 2741
tag : ftp all file, ftp multiple file,ftp,linux,centos, ftp get files, ftp load all file, ftp all file