rsync ไม่รวมไฟล์ที่ซ่อนไม่ทำงาน!


34

ฉันค้นหาทั่วอินเทอร์เน็ตและทุกคนแนะนำสิ่งเดียวกัน - การเพิ่ม--exclude=´.*´ควรแยกไฟล์และโฟลเดอร์ที่ซ่อนจาก rsync มันไม่ได้ ฉันได้ลองเพิ่มเครื่องหมายสแลชและ / หรือเครื่องหมายคำพูดคู่เช่น --exclude=¨\.*¨ดูเหมือนจะไม่มีอะไรทำงาน AGH !! ขอขอบคุณความช่วยเหลือบางส่วน

คำตอบ:


63

ทั้งสองเวอร์ชันที่คุณแสดงนั้นผิด คุณต้องใช้เครื่องหมายคำพูดคู่

--exclude=".*"

ทำงานและแยกไฟล์และไดเรกทอรีที่ซ่อนอยู่

หากคุณต้องการยกเว้นไดเรกทอรีที่ซ่อนอยู่:

--exclude ".*/"

ฉันใช้มันเป็นประจำทุกวันสำหรับการสำรองข้อมูล


ใช่นั่นใช้ได้ แต่เมื่อฉันตัดและวางตัวอย่างข้อมูลของคุณ ด้วยเหตุผลบางอย่างที่แป้นพิมพ์ของฉันไม่ได้ตั้งค่าให้พิมพ์เครื่องหมายคำพูดคู่มาตรฐาน แทนที่จะทำเช่นนี้¨
289455

1
คุณกำลังใช้แป้นพิมพ์ที่มีแป้นตายทำงานอยู่ คุณต้องกด "แล้วตามด้วยสเปซบาร์
Rinzwind

Oh! มันก็ใช้ได้เหมือนกัน! คุณไม่รู้ว่าจะปิดมันอย่างไร
289455

ใช่ ... เปลี่ยนแป้นพิมพ์เป็น "english (us)";)
Rinzwind

1
@YaroslavNikitenko ขอโทษ มีความสับสนอยู่ที่นั่น คุณควรอ่าน "หากคุณต้องการยกเว้นไดเรกทอรีที่ซ่อนอยู่เท่านั้น"
Rinzwind

2

ฉันใช้การแสดงออกนี้: --exclude=".[!.]*"

ทำงานได้ดีสำหรับฉันไม่รวมไฟล์และไดเรกทอรีที่ซ่อนอยู่


0

--exclude="/.*"คุณ\กำลังชี้ทางที่ผิด

rsync -a --exclude="/.*" ./ /path/to/sync

2
ไม่จำเป็นต้องใช้ / :) เขาไม่ได้ใช้ "" ถ้าเขาต้องการ a / ควรจะเป็นตอนท้ายเพื่อแยก dirs
Rinzwind

0

เปิดไฟล์ข้อความexclude_me.txtและพิมพ์ดังต่อไปนี้:.[a-z]*

จากนั้นดำเนินการต่อไปนี้:

rsync -avh --exclude-from='exclude_me.txt' /path/of/Source /path/of/Destination
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.