ฉันจะถ่ายโอนไฟล์ระยะไกลจากเซิร์ฟเวอร์ FTP หนึ่งตรงไปยังเซิร์ฟเวอร์ FTP อื่นได้อย่างไร
ฉันจะถ่ายโอนไฟล์ระยะไกลจากเซิร์ฟเวอร์ FTP หนึ่งตรงไปยังเซิร์ฟเวอร์ FTP อื่นได้อย่างไร
คำตอบ:
คุณสามารถใช้โปรแกรม FTP ที่รองรับโปรโตคอล FXPและเซิร์ฟเวอร์ทั้งสองของคุณก็ต้องรองรับเช่นกัน นี่คือแอปพลิเคชั่น FTP บางตัวที่รองรับโปรโตคอล FXP:
วิธีการอื่นที่ไม่ใช่ FXP อาจจะใช้WinSCPใช้ผลักดันและดึง
คุณสามารถใช้แอพเช่นWebDriveซึ่งติดตั้งไดรฟ์ FTP ระยะไกลราวกับว่าเป็นไดรฟ์ในเครื่อง (เรียกว่า 'ไดรฟ์เสมือน') จากนั้นเพียงลากและวางไฟล์จากไดรฟ์เสมือนหนึ่งไปยังอีกเครื่องหนึ่งในเครื่องของคุณเอง
มันทำงานอย่างไร
http://example.com
เซิร์ฟเวอร์ของคุณเพื่อสร้างไดรฟ์เสมือนแรกhttp://example.org
เซิร์ฟเวอร์ของคุณเพื่อสร้างไดรฟ์เสมือนที่สองWebDrive จะคัดลอกจากตำแหน่ง FTP แรกไปยังเครื่องของคุณ (คุณไม่เห็นขั้นตอนนี้เกิดขึ้นในพื้นหลัง) จากนั้นคัดลอกไปยังตำแหน่ง FTP ที่สองสำหรับคุณ นี่เป็นวิธีที่ใกล้เคียงที่สุดที่คุณจะได้รับการคัดลอกโดยตรงระหว่างเซิร์ฟเวอร์ FTP โดยไม่ต้องใช้โปรโตคอล FXP ซึ่งยังไม่รองรับอย่างกว้างขวาง
ทางเลือก WebDrive
นอกเหนือจาก WebDrive คุณอาจต้องการพิจารณาการส่ง (Mac เท่านั้น) หรือExpandrive (Mac และ Windows) ซึ่งทั้งสองมีคุณสมบัติการติดตั้งดิสก์ระยะไกลเดียวกัน (ฉันใช้คุณสมบัติ Disk ของ Transmit ทุกวันเพื่อบันทึกภาพที่ได้รับการปรับให้ตรงไปยังเซิร์ฟเวอร์ FTP โดยตรงจาก Photoshop / Fireworks มันยอดเยี่ยมมาก แต่ Expandrive และ WebDrive ก็ทำได้เช่นกัน)
หากคุณมีการเข้าถึง SSH ไปยังเซิร์ฟเวอร์ต้นทางคุณสามารถลงชื่อเข้าใช้และใช้ftp
คำสั่งเพื่อเริ่มเซสชัน ftp กับเซิร์ฟเวอร์ปลายทาง คุณจะต้องใช้บรรทัดคำสั่งเพื่อพิมพ์คำสั่ง ftp แต่มันไม่ยากเกินไปและคุณสามารถหาบทเรียนออนไลน์ได้ ตัวอย่างเช่น: http://linux.about.com/od/commands/l/blcmdl1_ftp.htm
แก้ไข:ฉันเพิ่งเห็นว่าคุณกำลังใช้ Windows คุณจะต้องมี Cygwin เพื่อเลียนแบบชุดเครื่องมือ Unix บน Windows หรือคุณสามารถใช้บางอย่างเช่น WinSCP
อเล็กซัสชี้ให้เห็นว่า SCP เป็นตัวเลือกที่ดี ตัวเลือกอื่นคือrsyncของ Unix / Linux (มีอยู่ในเครื่องที่ใช้ Unix เกือบทุกเครื่อง) มันเป็นยูทิลิตี้ที่ใช้บ่อยสำหรับการสำรองข้อมูล
สำหรับการถ่ายโอนระหว่างเซิร์ฟเวอร์สองเครื่อง abc.com และ xyz.com:
rsync -avzPe ssh user@xyz.com:/source/ /destination/on/abc
ตัวอย่างที่ใช้งานได้จริง:
rsync -avzPe ssh admin@xyz.com:~/public_html/ ~/public_html/
หมายเหตุไม่กี่:ตัวอย่างข้างต้นถือว่าคุณเข้าสู่ระบบเซิร์ฟเวอร์abc.com หากคุณต้องการที่จะไปทางอื่นสลับอาร์กิวเมนต์ ผู้ใช้ ( ผู้ดูแลระบบในกรณีนี้) ต้องมีการเข้าถึง SSH ที่เหมาะสม ในที่สุดธงที่ฉันใช้ไม่จำเป็นต้องมีเพียงอย่างเดียวเท่านั้นที่ใช้ได้ผลพวกเขาเป็นเพียงธงที่ฉันมักจะใช้ คุณสามารถทำได้โดยไม่ต้องใช้-vและ-Pคุณจะเห็นคอนโซลเอาต์พุตที่มีประโยชน์น้อยกว่า
หากคุณมีการเข้าถึง SSH วิธีที่ดีที่สุดคือการใช้คำสั่ง NIX tar (บีบอัด) จากนั้นใช้ scp เพื่อถ่ายโอนผ่านโฮสติ้งใหม่แล้วใช้ tar เพื่อยกเลิกการบีบอัดอีกครั้งและเก็บสำเนาไว้ในไดรฟ์ภายในเครื่องของคุณ