ทำไม rsync จึงข้ามไดเรกทอรีหลัก


47

ฉันพยายามใช้ rync แบบโลคัล (บนเครื่อง windows) ไปยังเซิร์ฟเวอร์ระยะไกล (กล่อง osx ของฉัน) เพื่อทดสอบสคริปต์สร้างปรับใช้จากระยะไกล ฉันได้ทำ rsync ก่อนที่จะทำได้ดีระหว่าง 2 เซิร์ฟเวอร์ linux แต่ตอนนี้ฉันมีปัญหา นี่คือผลลัพธ์:

$ rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

skipping directory /Library/WebServer/sites/staging/app1/.

sent 8 bytes  received 13 bytes  3.82 bytes/sec
total size is 0  speedup is 0.00

$ 

หรือ

$ rsync -avz -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

receiving file list ... done
./

sent 26 bytes  received 68 bytes  17.09 bytes/sec
total size is 0  speedup is 0.00


$ 

รีโมตไดเร็กทอรี app1 ว่างเปล่าในขณะที่ไดเร็กทอรีเอ็กซ์พอร์ตโลคัลมีไดเร็กทอรีย่อย 4 ไดเร็กทอรีจากนั้นแต่ละไฟล์จะเป็นกลุ่ม

คำตอบ:


64
rsync -v -e ssh myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ ./export

คุณไม่ได้ให้ตัวเลือกใด ๆ ที่จะนำมันเข้าสู่โหมด recursive เหมือนหรือ-r-a

รีโมตไดเร็กทอรี app1 ว่างเปล่าในขณะที่ไดเร็กทอรีเอ็กซ์พอร์ตโลคัลมีไดเร็กทอรีย่อย 4 ไดเร็กทอรีจากนั้นแต่ละไฟล์จะเป็นกลุ่ม

คุณมีตัวเลือกย้อนกลับที่นี่หรือไม่ rsync [source] [DESTINATION]คำสั่งที่ควรจะเป็น หากไดเรกทอรี app1 ว่างเปล่าและคุณพยายามที่จะคัดลอกไดเรกทอรีว่างแล้วคุณจะไม่ทำสิ่งที่มีประโยชน์

บางทีคุณอาจต้องการอะไรแบบนี้แทน

rsync -avz ./export/  myuser@10.86.83.11:/Library/WebServer/sites/staging/app1/ 

นอกจากนี้:

  • คุณควรใส่เครื่องหมายทับต่อท้ายในไดเรกทอรีที่มี rsync เกือบทุกครั้ง
  • rsync เกือบทุกรุ่นที่เผยแพร่ในช่วง 5-10 ปีที่ผ่านมาค่าเริ่มต้นในการใช้ ssh มีการขนส่งระยะไกล -e sshคุณอาจจะไม่ได้มีการระบุ

2
ว้าว .. นั่นค่อนข้างน่าอาย ใช่ครับผมผสมขึ้นแหล่งที่มาและปลายทาง ...
chrisan

1
+1 สำหรับ "คุณควรใส่เครื่องหมายทับต่อท้ายในไดเรกทอรีที่มี rsync"
Walrus the Cat

สำหรับ Mac ดูเหมือนว่าจะใช้แฟล็ก -r แต่บน linux ฉันมักจะใช้ -R ("capital R")
Adam F

@Zoredache ทำไมมันเกือบ?
Nikhil

3

ลองเปิดใช้งานความสามารถในการสร้าง rsync ของไฟล์บันทึกโดยเพิ่มตัวเลือกต่อไปนี้ในคำสั่งของคุณ

--log-file=/path/to/log.file

นอกจากนี้คุณยังสามารถเพิ่มความฟุ่มเฟื่อยได้โดยการเพิ่ม-vตัวเลือกพิเศษเช่น-avvzตามหน้า man 'ตัวเลือก Two-v จะให้ข้อมูลว่าไฟล์ใดที่ถูกข้ามและข้อมูลเพิ่มเติมเล็กน้อยในตอนท้าย'

หากข้อมูลที่ส่งคืนนี้ไม่ได้ช่วยระบุปัญหาโปรดแก้ไขคำถามของคุณและเพิ่มผลลัพธ์เพิ่มเติม

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