ฉันกำลังพยายามตั้งค่า rsync ที่แยก.*
ไฟล์ทั้งหมดยกเว้น.htaccess
แต่น่าเสียดายที่มันไม่ทำงาน:
rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir
เป็นไปได้ไหมที่จะยกเว้นกฎการยกเว้นทั่วไป?
ฉันกำลังพยายามตั้งค่า rsync ที่แยก.*
ไฟล์ทั้งหมดยกเว้น.htaccess
แต่น่าเสียดายที่มันไม่ทำงาน:
rsync -avP --exclude=".*" --include="./.htaccess" ./. user@server:/dir
เป็นไปได้ไหมที่จะยกเว้นกฎการยกเว้นทั่วไป?
คำตอบ:
กฎการจับคู่ครั้งแรกที่จะนำไปใช้เพื่อรวมก่อนที่จะไม่รวม.htaccess
.*
rsync -avP --include=".htaccess" --exclude=".*" . user@server:/dir
สำเนานี้.htaccess
ในทุกระดับ ผมไม่ทราบว่าสิ่งที่คุณตั้งใจกับ./.htaccess
; /
ถ้าคุณต้องการเพื่อให้ตรงกับไฟล์ที่รากของการคัดลอกเพียงเริ่มต้นรูปแบบที่มี หากคุณต้องการรูท.htaccess
เท่านั้นคุณไม่สามารถใช้งาน--include='/.htaccess' --exclude='.*'
ได้เพราะกฎที่ไม่ได้รูทนั้นมีความสำคัญกว่าคุณจะต้องทำอะไรที่ซับซ้อนกว่านี้:
rsync -avP --exclude='/*/**/.htaccess' --include='.htaccess' --exclude=".*" . user@server:/dir
อ่านเพิ่มเติม: หลักการพื้นฐานสำหรับตัวกรอง rsync
--include
ครั้งแรก แต่ "./" ต่อหน้า "./.htaccess" คือสิ่งที่ฆ่ามัน
.htaccess
ไฟล์อยู่คุณจะต้อง--include='.*/'
(ฉันคิดว่า) ก่อนถึงขั้นสุดท้าย--exclude
ดูได้ที่นี่ด้วย