Rsync คัดลอกเนื้อหาไดเร็กทอรี แต่ไม่ใช่ไดเร็กทอรีเอง


121

ฉันพยายามซิงโครไนซ์เนื้อหาสองโฟลเดอร์ที่มีชื่อต่างกัน:

rsync -av ~/foo user@remote.com:/var/www/bar

ฉันต้องการที่จะคัดลอกเนื้อหาของfooเข้าไปbarในพื้นที่ห่างไกล แต่ไม่ไดเรกทอรีfooตัวเอง ฉันได้ลองสิ่งที่ชอบfoo/*แต่ rsync ไม่รองรับ

rsync สร้างเสมอ

/var/www/bar/foo

18
เพียงแค่ทิ้งเครื่องหมายทับก็เพียงพอแล้ว
exussum

คำตอบ:


192

ลอง rsync -av ~/foo/ user@remote.com:/var/www/bar/


38
ลักษณะการทำงานนี้เป็นสิ่งที่แปลกเมื่อเทียบกับหรือmv cp
zeekvfu

1
ดูเหมือนจะแปลกและไม่สอดคล้องกันที่จะทำให้เครื่องหมายทับที่เกี่ยวข้องกับคำสั่งนี้โดยเฉพาะ สงสัยว่าทำไมถึงไม่เปลี่ยน
Luke Davis

39
ในกรณีที่มีคนสงสัยเหมือนกันว่าทำไมถึงได้ผล: เป็นชื่อต่อท้าย/ชื่อไดเร็กทอรี
Etienne Bruines

ฉันยังพบว่ามันแปลกที่ต้องใช้ตัวเลือก -a หากฉันไม่ใช้ '-a' ฉันจะได้รับข้อผิดพลาดในการข้ามไดเรกทอรีและไม่มีอะไรเกิดขึ้น อ่านหน้าคนฉันคงไม่ได้สรุปอย่างนั้น ดูเหมือนว่าตามเอกสารนั้นควรใช้งานได้โดยไม่มีตัวเลือก -a และตัวเลือก -v ใช้สำหรับการใช้คำฟุ่มเฟือยเท่านั้นดังนั้นจึงไม่เกี่ยวข้องกับสำเนาจริงที่ใช้งานได้ แปลก. ขอบคุณสำหรับคำตอบว่า
shawn1874

32

มันง่ายมาก

rsync /var/www/ /home/var- คัดลอกเนื้อหาของ / var / www / แต่ไม่ใช่โฟลเดอร์wwwเอง

rsync /var/www /home/var- คัดลอกโฟลเดอร์wwwพร้อมกับเนื้อหาทั้งหมด

"/" สร้างความแตกต่าง


6
นี่ควรเป็นคำตอบที่ได้รับการยอมรับซึ่งอธิบายความแตกต่างได้อย่าง
แท้จริง

29

ไม่ได้เกี่ยวข้องกับ rsync เท่านั้น แต่เมื่อคุณกำลังมองหาตัวอย่างเกี่ยวกับวิธีใช้คำสั่ง GNU / Linux คุณสามารถใช้ "eg" ซึ่งจะแสดงตัวอย่างที่ชัดเจน เช่นมีอยู่ที่นี่พร้อมคำแนะนำในการติดตั้ง: https://github.com/srsudar/eg

ผลลัพธ์สำหรับeg rsyncเป็นดังนี้

# rsync


copy the folder source_dir and its content into destination_dir

    rsync -av source_dir destination_dir


copy the contents of source_dir (trailing slash) into destination_dir

    rsync -av source_dir/ destination_dir

0

ไปที่ไดเร็กทอรีที่คุณต้องการคัดลอกดังนั้น:

cd ~/foo 

เรียกใช้สิ่งนี้:

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