วิธีถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง: 3 ขั้นตอน

สารบัญ:

วิธีถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง: 3 ขั้นตอน
วิธีถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง: 3 ขั้นตอน

วีดีโอ: วิธีถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง: 3 ขั้นตอน

วีดีโอ: วิธีถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง: 3 ขั้นตอน
วีดีโอ: การ Draft ภาพ การบันทึก และ Publish ไฟล์ | Adobe Flash 2024, อาจ
Anonim

ในสภาพแวดล้อม Linux แบบหลายเซิร์ฟเวอร์ งานจำนวนมากเกี่ยวข้องกับการย้ายไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไปจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่ง ขึ้นอยู่กับจำนวนไฟล์ที่คุณต้องการย้าย มีหลายคำสั่งที่อาจช่วยคุณได้….

สมมติว่าสำหรับการสนทนาเหล่านี้ว่าเซิร์ฟเวอร์ของเราคือ Alice และ Madhat และผู้ใช้ของเราใน Alice คือ Rabbit และผู้ใช้ใน madhat คือ Fieldmouse

ขั้นตอน

ถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกขั้นตอนที่1
ถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกขั้นตอนที่1

ขั้นตอนที่ 1 สำหรับไฟล์เดียว ให้ลองใช้คำสั่ง "scp"

คุณสามารถใช้คำสั่งนี้เป็นคำสั่ง "push" หรือ "pull" แต่มาเริ่มกันที่การพุชไฟล์ไปยังเซิร์ฟเวอร์อื่น ขณะที่อยู่บนอลิซ ให้ใช้คำสั่ง "scp myfile fieldmouse@madhat:thatfile" การดำเนินการนี้จะคัดลอกไฟล์ไปยังระบบอื่น ลงในรหัสผู้ใช้ fieldmouse ด้วยชื่อ "thatfile" หากคุณเข้าสู่ระบบในระบบอื่น คุณสามารถดึงไฟล์ได้อย่างง่ายดายด้วยคำสั่ง "scp rabbit@alice:myfile thatfile" และได้ผลลัพธ์เช่นเดียวกัน

ถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกขั้นตอนที่2
ถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกขั้นตอนที่2

ขั้นตอนที่ 2 ในการคัดลอกไดเร็กทอรีทั้งหมด เราสามารถเปิดคำสั่ง "scp" ได้อีกครั้ง

คราวนี้เราจะเพิ่มสวิตช์ -r เพื่อให้สำเนาทำงาน "แบบเรียกซ้ำ" "scp -r mydir fieldmouse@madhat:" จะคัดลอกไดเร็กทอรีทั้งหมด "mydir" ไปยังระบบอื่น รวมถึงเนื้อหาทั้งหมดและไดเร็กทอรีเพิ่มเติม ไดเร็กทอรีใน madhat จะยังตั้งชื่อ mydir

ถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกขั้นตอนที่3
ถ่ายโอนไฟล์จากเซิร์ฟเวอร์ Linux หนึ่งไปยังอีกขั้นตอนที่3

ขั้นตอนที่ 3 จะเกิดอะไรขึ้นถ้าคุณมี "ความยุ่งเหยิง" ของไฟล์และไดเร็กทอรีที่จะคัดลอก

คุณสามารถใช้คำสั่ง "tar" เพื่อสร้างไฟล์เดียว จากนั้นคัดลอกไฟล์ดังกล่าวตามด้านบน จากนั้นใช้ tar เพื่อขยายไฟล์บนเซิร์ฟเวอร์อื่น… แต่นั่นก็ดูเหมือน… มันต้องมีวิธีทำในขั้นตอนเดียวใช่ไหม? แน่นอน! ใส่ท่อของเปลือกหอยที่คุณชื่นชอบ เรายังคงสามารถใช้ tar เพื่อบรรจุไฟล์ที่เราต้องการ จากนั้นใช้ ssh เพื่อนำไปยังระบบอื่น (ซึ่งเป็นสิ่งที่ scp ใช้อยู่ใต้หน้าปก) และ tar ที่อีกด้านหนึ่งเพื่อขยายไฟล์กลับออกไป แต่ทำไมต้องเสียเวลาและพื้นที่ในการสร้างไฟล์ tar จริง ในเมื่อเราสามารถสร้างไพพ์ที่ครอบคลุมทั้งสองระบบและถ่ายโอนข้อมูล tar ผ่านมันได้ โดยใช้ไดเร็กทอรีเดียวกันกับในตัวอย่างก่อนหน้านี้ ให้ลองใช้ "tar -cf - mydir/ * | ssh fieldmouse@madhat 'tar -xf -'"

เคล็ดลับ

  • แน่นอนว่ามีวิธีอื่นในการทำเช่นนี้เช่นกัน Linux เต็มไปด้วยเครื่องมือ ไมล์สะสมของคุณอาจแตกต่างกันไป
  • คุณควรแทนที่ชื่อผู้ใช้/ชื่อโฮสต์/ชื่อไฟล์/ชื่อไดเร็กทอรีตามการกำหนดค่าเครือข่ายและสภาพแวดล้อมของคุณในขณะที่ใช้คำสั่งข้างต้น คำสั่งที่แสดงด้านบนเป็นเพียงตัวอย่างการดำเนินการคำสั่งสำหรับการคัดลอกไฟล์บนเซิร์ฟเวอร์

แนะนำ: