คัดลอกโฟลเดอร์จากเซิร์ฟเวอร์ Unix หนึ่งไปยังเซิร์ฟเวอร์อื่นหรือไม่


22

ฉันต้องการคัดลอกโฟลเดอร์จากเซิร์ฟเวอร์ Unix หนึ่งไปยังเซิร์ฟเวอร์ Unix อื่น ใครสามารถบอกฉันว่ามีวิธีการหรือคำสั่งเพื่อให้บรรลุนี้

คำตอบ:


27

ใช่มีscpหรือrcpหรือrsync เดิม

scp -r source_folder user@host.com:destination_folder

คำสั่งดังกล่าวจะคัดลอกsource_folderไปยังdestination_folderในuser'sไดเรกทอรีบ้านบนhost.com


1
ฉันไม่ได้เห็น RCP มานานหลายทศวรรษแล้วมีใครยังใช้มันบ้าง
Piskvor

@Piskvor: ฉันไม่เคยใช้มันเหมือนกัน แต่เพิ่งเพิ่มไปเพื่อความสมบูรณ์ของคำตอบ
Ozair Kafray

หากคุณต้องการความสมบูรณ์คุณควรเพิ่มวิธี netcat ด้วย nc -l -p 9999 > file+ cat file | nc ip port หรือnc -l -p 9999 | tar -x -+ tar -c dir | nc ip port- มีการบันทึกไว้ผิวของฉันสองสามครั้งเมื่อฉันไม่ได้มีเซิร์ฟเวอร์แฟนซีใด ๆ ที่พร้อมต้องการระบบที่ติดตั้งลินุกซ์
hanshenrik

12

หากโฟลเดอร์ของคุณมีโฟลเดอร์ย่อยและ symlink สำคัญกว่านั้นคุณต้องการใช้rsync :

rsync -aruv localfolder/ user@server:destination/

หรือย้อนกลับ:

rsync -aruv user@server:destination/ localfolder/

วิธีนี้จะทำการสำรอง / คัดลอกซ้ำจากโฟลเดอร์ในเครื่องไปยังเซิร์ฟเวอร์ของคุณในขณะที่ยังคงความเป็นเจ้าของและสิทธิ์อย่างสมบูรณ์ วิธีแก้ปัญหาที่แนะนำจนถึงปัจจุบันนั้นถูกต้อง แต่ scp ไม่ได้จัดการ symlink เป็นค่าเริ่มต้นและจะสร้างสำเนาใหม่ของไฟล์ที่เชื่อมโยง

สำหรับรายละเอียดการใช้งานดูman (1) rsyncหรือที่นี่



-1

ก่อนเข้าสู่เซิร์ฟเวอร์ที่คุณต้องการคัดลอกโฟลเดอร์หรือไฟล์ อยู่ในโฟลเดอร์ที่คุณต้องการคัดลอกและเรียกใช้คำสั่ง "wget http: //sourceserverip/folderuwanttocopy.zip "

สำหรับ folderuwanttocpy.zip นี้ในเซิร์ฟเวอร์ต้นทางควรอยู่ใน / var / www / html หากเป็นเซิร์ฟเวอร์ linux (หรือ) xamp / httdocs หากเป็นเซิร์ฟเวอร์ windows

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.