linux centos โหลด FTP ไฟล์ทั้งหมด โดยไม่ใช้โปรแกรมช่วย
วันนี้จะต้องย้ายไฟล์ จาก 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 ใดๆ เลยตกไปครับ
tag : ftp all file, ftp multiple file,ftp,linux,centos, ftp get files, ftp load all file, ftp all file
