นี่คือคำสั่ง rsync ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้หนึ่งในเวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
rsync - เครื่องมือคัดลอกไฟล์ที่รวดเร็ว หลากหลาย ระยะไกล (และในเครื่อง)
เรื่องย่อ
ท้องถิ่น: rsync [ตัวเลือก...] SRC... [DEST]
เข้าถึงผ่านเชลล์ระยะไกล:
ดึง: rsync [OPTION...] [USER@]HOST:SRC... [DEST]
พุช: rsync [OPTION...] SRC... [USER@]HOST:DEST
เข้าถึงผ่าน rsync daemon:
ดึง: rsync [OPTION...] [USER@]HOST::SRC... [DEST]
rsync [ตัวเลือก...] rsync://[USER@]HOST[:PORT]/SRC... [DEST]
พุช: rsync [OPTION...] SRC... [USER@]HOST::DEST
rsync [ตัวเลือก...] SRC... rsync://[USER@]HOST[:PORT]/DEST
การใช้งานที่มี SRC arg เพียงอันเดียวและไม่มี DEST arg จะแสดงรายการไฟล์ต้นฉบับแทน
การคัดลอก
DESCRIPTION
Rsync เป็นเครื่องมือคัดลอกไฟล์ที่รวดเร็วและหลากหลายเป็นพิเศษ สามารถคัดลอกในเครื่อง
ไปยัง/จากโฮสต์อื่นบนรีโมตเชลล์ใดๆ หรือไปยัง/จากรีโมต rsync daemon ให้บริการ
ตัวเลือกจำนวนมากที่ควบคุมทุกแง่มุมของพฤติกรรมและอนุญาตให้มีความยืดหยุ่นมาก
ข้อกำหนดของชุดไฟล์ที่จะคัดลอก มีชื่อเสียงในด้านการถ่ายโอนเดลต้า
อัลกอริธึมซึ่งลดปริมาณข้อมูลที่ส่งผ่านเครือข่ายโดยส่งเฉพาะ
ความแตกต่างระหว่างไฟล์ต้นทางและไฟล์ที่มีอยู่ในปลายทาง Rsync คือ
ใช้กันอย่างแพร่หลายสำหรับการสำรองข้อมูลและการมิเรอร์และเป็นคำสั่งคัดลอกที่ได้รับการปรับปรุงสำหรับการใช้งานทุกวัน
Rsync ค้นหาไฟล์ที่ต้องการโอนโดยใช้อัลกอริธึม "ตรวจสอบอย่างรวดเร็ว" (โดยค่าเริ่มต้น)
ที่ค้นหาไฟล์ที่มีการเปลี่ยนแปลงขนาดหรือในเวลาที่แก้ไขล่าสุด การเปลี่ยนแปลงใด ๆ ใน
คุณลักษณะที่สงวนไว้อื่น ๆ (ตามที่ร้องขอโดยตัวเลือก) จะทำในไฟล์ปลายทาง
โดยตรงเมื่อการตรวจสอบอย่างรวดเร็วระบุว่าข้อมูลของไฟล์ไม่จำเป็นต้องได้รับการอัปเดต
คุณสมบัติเพิ่มเติมบางอย่างของ rsync คือ:
o รองรับการคัดลอกลิงก์ อุปกรณ์ เจ้าของ กลุ่ม และการอนุญาต
o แยกและแยกจากตัวเลือกที่คล้ายกับ GNU tar
oa CVS ไม่รวมโหมดสำหรับการละเว้นไฟล์เดียวกันกับที่ CVS จะละเว้น
o สามารถใช้รีโมตเชลล์แบบโปร่งใส รวมถึง ssh หรือ rsh
o ไม่ต้องการสิทธิ์ผู้ใช้ขั้นสูง
o การวางท่อของการถ่ายโอนไฟล์เพื่อลดค่าใช้จ่ายแฝง
o รองรับ rsync daemons ที่ไม่ระบุชื่อหรือรับรองความถูกต้อง (เหมาะสำหรับการมิเรอร์)
ทั่วไป
Rsync คัดลอกไฟล์ไปยังหรือจากโฮสต์ระยะไกลหรือในเครื่องบนโฮสต์ปัจจุบัน (it
ไม่รองรับการคัดลอกไฟล์ระหว่างสองโฮสต์ระยะไกล)
มีสองวิธีที่แตกต่างกันสำหรับ rsync ในการติดต่อระบบรีโมต: การใช้ remote-shell
โปรแกรมเป็นการขนส่ง (เช่น ssh หรือ rsh) หรือติดต่อ rsync daemon โดยตรงผ่าน
ทีซีพี การขนส่งเชลล์ระยะไกลจะใช้เมื่อใดก็ตามที่เส้นทางต้นทางหรือปลายทางมี
ตัวคั่นโคลอนเดี่ยว (:) หลังข้อกำหนดโฮสต์ การติดต่อ rsync daemon
เกิดขึ้นโดยตรงเมื่อเส้นทางต้นทางหรือปลายทางมีเครื่องหมายทวิภาคคู่ (::)
ตัวคั่นหลังข้อกำหนดโฮสต์ หรือ เมื่อระบุ rsync:// URL (ดูเพิ่มเติมที่
"การใช้คุณสมบัติ RSYNC-DAEMON ผ่านการเชื่อมต่อ REMOTE-SHELL" สำหรับข้อยกเว้น
กฎข้อหลังนี้)
เป็นกรณีพิเศษ หากมีการระบุ arg ต้นทางเดียวโดยไม่มีปลายทาง file
แสดงในรูปแบบเอาต์พุตที่คล้ายกับ "ls -l"
ตามที่คาดไว้หากเส้นทางต้นทางหรือปลายทางไม่ระบุโฮสต์ระยะไกลสำเนา
เกิดขึ้นในท้องถิ่น (ดูเพิ่มเติมที่ --รายการเท่านั้น ตัวเลือก)
Rsync อ้างถึงฝั่งท้องถิ่นว่าเป็น "ไคลเอนต์" และฝั่งระยะไกลเป็น "เซิร์ฟเวอร์" อย่า
สับสน "เซิร์ฟเวอร์" กับ rsync daemon -- daemon เป็นเซิร์ฟเวอร์เสมอ แต่เซิร์ฟเวอร์สามารถ
ไม่ว่าจะเป็น daemon หรือกระบวนการเกิดเชลล์ระยะไกล
ติดตั้ง
ดูไฟล์ README สำหรับคำแนะนำในการติดตั้ง
เมื่อติดตั้งแล้ว คุณสามารถใช้ rsync กับเครื่องใดก็ได้ที่คุณสามารถเข้าถึงได้ผ่านรีโมตเชลล์
(รวมถึงบางส่วนที่คุณสามารถเข้าถึงได้โดยใช้โปรโตคอล rsync daemon-mode) สำหรับรีโมท
การถ่ายโอน rsync สมัยใหม่ใช้ ssh สำหรับการสื่อสาร แต่อาจมีการกำหนดค่าไว้
เพื่อใช้รีโมตเชลล์อื่นตามค่าเริ่มต้น เช่น rsh หรือ remsh
คุณยังสามารถระบุรีโมตเชลล์ที่คุณต้องการ โดยใช้ -e บรรทัดคำสั่ง
หรือโดยการตั้งค่าตัวแปรสภาพแวดล้อม RSYNC_RSH
โปรดทราบว่าต้องติดตั้ง rsync ทั้งบนเครื่องต้นทางและปลายทาง
การใช้
คุณใช้ rsync ในลักษณะเดียวกับที่คุณใช้ rcp คุณต้องระบุแหล่งที่มาและปลายทาง
ซึ่งหนึ่งในนั้นอาจจะอยู่ห่างไกล
บางทีวิธีที่ดีที่สุดในการอธิบายไวยากรณ์คือตัวอย่าง:
rsync -t *.c ฟู:src/
สิ่งนี้จะถ่ายโอนไฟล์ทั้งหมดที่ตรงกับรูปแบบ *.c จากไดเร็กทอรีปัจจุบันไปยัง
ไดเร็กทอรี src บนเครื่อง foo หากไฟล์ใดมีอยู่แล้วบนระบบรีโมต
จากนั้นใช้โปรโตคอลการอัปเดตระยะไกล rsync เพื่ออัปเดตไฟล์โดยส่งเฉพาะไฟล์
ความแตกต่างของข้อมูล โปรดทราบว่าการขยายไวด์การ์ดบน commandline (*.c)
ลงในรายการไฟล์ที่เชลล์จัดการก่อนที่จะรัน rsync และไม่ใช่โดย rsync เอง
(เหมือนกับโปรแกรมสไตล์ posix อื่นๆ ทั้งหมด)
rsync -avz foo:src/bar /data/tmp
สิ่งนี้จะถ่ายโอนไฟล์ทั้งหมดซ้ำๆ จากไดเร็กทอรี src/bar บนเครื่อง foo
ลงในไดเร็กทอรี /data/tmp/bar บนเครื่องโลคัล ไฟล์จะถูกโอนเข้าใน
โหมด "เก็บถาวร" ซึ่งช่วยให้มั่นใจว่าลิงก์สัญลักษณ์ อุปกรณ์ คุณลักษณะ สิทธิ์
ความเป็นเจ้าของ ฯลฯ จะถูกเก็บรักษาไว้ในการโอน นอกจากนี้ การบีบอัดจะใช้เพื่อ
ลดขนาดของส่วนข้อมูลของการถ่ายโอน
rsync -avz foo:src/bar/ /data/tmp
เครื่องหมายทับบนแหล่งที่มาจะเปลี่ยนพฤติกรรมนี้เพื่อหลีกเลี่ยงการสร้างเพิ่มเติม
ระดับไดเร็กทอรีที่ปลายทาง คุณสามารถนึกถึงการต่อท้าย / บนแหล่งที่มาเป็นความหมาย
"คัดลอกเนื้อหาของไดเร็กทอรีนี้" แทนที่จะเป็น "คัดลอกไดเร็กทอรีตามชื่อ" แต่ใน
ทั้งสองกรณี คุณลักษณะของไดเร็กทอรีที่มีจะถูกโอนไปยัง ที่บรรจุ
ไดเรกทอรีบนปลายทาง กล่าวอีกนัยหนึ่ง แต่ละคำสั่งต่อไปนี้จะคัดลอก
ในลักษณะเดียวกัน รวมถึงการตั้งค่าแอตทริบิวต์ของ /dest/foo:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
โปรดทราบด้วยว่าการอ้างอิงโฮสต์และโมดูลไม่จำเป็นต้องใช้เครื่องหมายทับเพื่อคัดลอก
เนื้อหาของไดเร็กทอรีเริ่มต้น ตัวอย่างเช่น ทั้งสองสิ่งนี้คัดลอกไดเรกทอรีระยะไกลของ
เนื้อหาใน "/dest":
rsync -av โฮสต์: /dest
rsync -av โฮสต์::โมดูล /ปลายทาง
คุณยังสามารถใช้ rsync ในโหมดโลคัลเท่านั้น โดยที่ทั้งต้นทางและปลายทางไม่
มี ':' ในชื่อ ในกรณีนี้จะทำงานเหมือนคำสั่งคัดลอกที่ปรับปรุงแล้ว
สุดท้าย คุณสามารถแสดงรายการโมดูล (แสดงรายการ) ทั้งหมดที่มีจาก rsync daemon . เฉพาะ
โดยออกจากชื่อโมดูล:
rsync somehost.mydomain.com::
ดูส่วนต่อไปนี้สำหรับรายละเอียดเพิ่มเติม
ADVANCED การใช้
ไวยากรณ์สำหรับการขอหลายไฟล์จากรีโมตโฮสต์ทำได้โดยการระบุ
อาร์กิวเมนต์โฮสต์ระยะไกลเพิ่มเติมในสไตล์เดียวกับตัวแรก หรือโดยละเว้นชื่อโฮสต์
ตัวอย่างเช่น งานทั้งหมดเหล่านี้:
rsync -av โฮสต์:file1 :file2 โฮสต์:ไฟล์{3,4} /dest/
rsync -av โฮสต์::modname/ไฟล์{1,2} โฮสต์::modname/file3 /dest/
rsync -av โฮสต์::modname/file1 ::modname/file{3,4}
ต้องใช้ rsync เวอร์ชันเก่าโดยใช้ช่องว่างในเครื่องหมายคำพูดใน SRC เช่นตัวอย่างเหล่านี้:
rsync -av host:'dir1/file1 dir2/file2' /dest
โฮสต์ rsync::'modname/dir1/file1 modname/dir2/file2' /dest
การแยกคำนี้ยังคงใช้งานได้ (โดยค่าเริ่มต้น) ใน rsync ล่าสุด แต่ไม่ง่ายอย่างที่คิด
ใช้เป็นวิธีแรก
หากคุณต้องการโอนชื่อไฟล์ที่มีช่องว่าง คุณสามารถระบุ
--ปกป้อง-args (-s) หรือคุณจะต้องหลีกเลี่ยงช่องว่างในลักษณะที่
เปลือกระยะไกลจะเข้าใจ ตัวอย่างเช่น:
rsync -av host:'file\ name\ with\ spaces' /dest
เชื่อมต่อ TO AN rsync เดมอน
นอกจากนี้ยังสามารถใช้ rsync โดยไม่มีรีโมตเชลล์เป็นการขนส่งได้ ในกรณีนี้
คุณจะเชื่อมต่อโดยตรงกับ rsync daemon ระยะไกล โดยทั่วไปแล้วจะใช้พอร์ต TCP 873 (นี่
เห็นได้ชัดว่าต้องการให้ daemon ทำงานบนระบบรีโมต ดังนั้นโปรดอ้างอิง STARTING
RSYNC DAEMON เพื่อยอมรับส่วนการเชื่อมต่อด้านล่างสำหรับข้อมูลเกี่ยวกับสิ่งนั้น)
การใช้ rsync ในลักษณะนี้จะเหมือนกับการใช้กับรีโมตเชลล์ ยกเว้นว่า:
o คุณใช้เครื่องหมายโคลอนคู่ :: แทนที่จะเป็นโคลอนเดี่ยวเพื่อแยกชื่อโฮสต์
จากพาธ หรือคุณใช้ rsync:// URL
o คำแรกของ "เส้นทาง" เป็นชื่อโมดูลจริงๆ
o ภูตระยะไกลอาจพิมพ์ข้อความของวันที่คุณเชื่อมต่อ
o หากคุณไม่ได้ระบุชื่อพาธบนรีโมต daemon รายการของพาธที่สามารถเข้าถึงได้
บนภูตจะแสดง
o หากคุณไม่ได้ระบุปลายทางท้องถิ่นรายการของไฟล์ที่ระบุใน
ดีมอนระยะไกลมีให้
o คุณต้องไม่ระบุ --rsh (-e) ตัวเลือก
ตัวอย่างที่คัดลอกไฟล์ทั้งหมดในโมดูลระยะไกลที่ชื่อ "src":
rsync -av โฮสต์::src /dest
บางโมดูลบน daemon ระยะไกลอาจต้องมีการพิสูจน์ตัวตน ถ้าเป็นเช่นนั้น คุณจะได้รับ
พร้อมท์รหัสผ่านเมื่อคุณเชื่อมต่อ คุณสามารถหลีกเลี่ยงพรอมต์รหัสผ่านโดยการตั้งค่า
ตัวแปรสภาพแวดล้อม RSYNC_PASSWORD ไปยังรหัสผ่านที่คุณต้องการใช้หรือใช้ตัว
--รหัสผ่าน-ไฟล์ ตัวเลือก. สิ่งนี้อาจมีประโยชน์เมื่อเขียนสคริปต์ rsync
คำเตือน: ในบางระบบตัวแปรสภาพแวดล้อมจะปรากฏแก่ผู้ใช้ทั้งหมด ในระบบเหล่านั้น
การใช้ --รหัสผ่าน-ไฟล์ ขอแนะนำ
คุณอาจสร้างการเชื่อมต่อผ่านเว็บพรอกซีโดยการตั้งค่าตัวแปรสภาพแวดล้อม
RSYNC_PROXY ไปยังชื่อโฮสต์: คู่พอร์ตที่ชี้ไปที่เว็บพร็อกซีของคุณ โปรดทราบว่าเว็บของคุณ
การกำหนดค่าของพร็อกซีต้องรองรับการเชื่อมต่อพร็อกซีกับพอร์ต 873
คุณยังสามารถสร้างการเชื่อมต่อ daemon โดยใช้โปรแกรมเป็นพร็อกซีโดยการตั้งค่า
ตัวแปรสภาพแวดล้อม RSYNC_CONNECT_PROG กับคำสั่งที่คุณต้องการเรียกใช้แทนการสร้าง
การเชื่อมต่อซ็อกเก็ตโดยตรง สตริงอาจมี Escape "%H" เพื่อแสดงถึง
ชื่อโฮสต์ที่ระบุในคำสั่ง rsync (ดังนั้นให้ใช้ "%%" หากคุณต้องการ "%" เดียวใน your
สตริง) ตัวอย่างเช่น:
ส่งออก RSYNC_CONNECT_PROG='ssh proxyhost nc %H 873'
rsync -av targethost1::โมดูล/src/ /dest/
rsync -av rsync:://targethost2/module/src/ /dest/
คำสั่งที่ระบุข้างต้นใช้ ssh เพื่อเรียกใช้ nc (netcat) บน proxyhost ซึ่งส่งต่อทั้งหมด
ข้อมูลไปยังพอร์ต 873 (rsync daemon) บน targethost (%H)
ใช้ RSYNC-ภูต คุณลักษณะเด่น VIA A รีโมทเปลือก การเชื่อมต่อ
บางครั้งมีประโยชน์ในการใช้คุณลักษณะต่างๆ ของ rsync daemon (เช่น โมดูลที่มีชื่อ)
โดยไม่อนุญาตให้มีการเชื่อมต่อซ็อกเก็ตใหม่เข้าสู่ระบบ (นอกเหนือจากสิ่งที่เป็น
จำเป็นอยู่แล้วเพื่ออนุญาตการเข้าถึงรีโมตเชลล์) Rsync รองรับการเชื่อมต่อกับโฮสต์โดยใช้
รีโมตเชลล์แล้ววางไข่เซิร์ฟเวอร์ "daemon" แบบใช้ครั้งเดียวที่คาดว่าจะอ่านได้
config ใน home dir ของผู้ใช้ระยะไกล สิ่งนี้มีประโยชน์หากคุณต้องการเข้ารหัส
ข้อมูลการถ่ายโอนแบบ daemon แต่เนื่องจาก daemon เริ่มทำงานใหม่โดย remote
ผู้ใช้ คุณอาจไม่สามารถใช้คุณสมบัติเช่น chroot หรือเปลี่ยน uid ที่ใช้โดย
ภูต (สำหรับวิธีอื่นในการเข้ารหัสการถ่ายโอน daemon ให้พิจารณาใช้ ssh to tunnel a
พอร์ตโลคัลไปยังเครื่องรีโมตและกำหนดค่า rsync daemon ปกติบนรีโมตโฮสต์นั้นไปยัง
อนุญาตเฉพาะการเชื่อมต่อจาก "localhost")
จากมุมมองของผู้ใช้ การถ่ายโอน daemon ผ่านการเชื่อมต่อรีโมตเชลล์ใช้เกือบ
ไวยากรณ์บรรทัดคำสั่งเดียวกันกับการถ่ายโอน rsync-daemon ปกติ โดยมีข้อยกเว้นเท่านั้น
โดยคุณต้องตั้งค่าโปรแกรมรีโมตเชลล์บนบรรทัดคำสั่งด้วยเครื่องหมาย . อย่างชัดเจน
--rsh=คำสั่ง ตัวเลือก. (การตั้งค่า RSYNC_RSH ในสภาพแวดล้อมจะไม่เปิดขึ้น
ฟังก์ชั่น) ตัวอย่างเช่น:
rsync -av --rsh=ssh โฮสต์::โมดูล /ปลายทาง
หากคุณต้องการระบุผู้ใช้รีโมตเชลล์คนอื่น โปรดจำไว้ว่า user@ prefix
หน้าโฮสต์กำลังระบุค่าผู้ใช้ rsync (สำหรับโมดูลที่ต้องใช้
การตรวจสอบตามผู้ใช้) ซึ่งหมายความว่าคุณต้องให้ตัวเลือก '-l ผู้ใช้' กับ ssh
เมื่อระบุรีโมตเชลล์ดังในตัวอย่างนี้ที่ใช้เวอร์ชันสั้นของ
--rsh ตัวเลือก:
rsync -av -e "ssh -l ssh-user" rsync-user@host::module /dest
"ssh-user" จะใช้ที่ระดับ ssh "rsync-user" จะถูกใช้เพื่อเข้าสู่ระบบ
"โมดูล"
การเริ่มต้น AN rsync เดมอน TO ยอมรับ การเชื่อมต่อ
ในการเชื่อมต่อกับ rsync daemon ระบบรีโมตต้องมี daemon อยู่แล้ว
ทำงานอยู่ (หรือต้องมีการกำหนดค่าบางอย่างเช่น inetd เพื่อวางไข่ rsync daemon สำหรับ
การเชื่อมต่อขาเข้าบนพอร์ตเฉพาะ) สำหรับข้อมูลทั้งหมดเกี่ยวกับวิธีการเริ่มต้น daemon
ที่จะจัดการกับการเชื่อมต่อซ็อกเก็ตขาเข้าดู rsyncd.conf(5) หน้าคน -- นั่นคือ
ไฟล์ปรับแต่งสำหรับ daemon และมีรายละเอียดทั้งหมดเกี่ยวกับวิธีการรัน daemon
(รวมถึงการกำหนดค่าแบบสแตนด์อโลนและ inetd)
หากคุณกำลังใช้การขนส่งเชลล์ระยะไกลตัวใดตัวหนึ่งสำหรับการถ่ายโอน คุณไม่จำเป็นต้อง
เริ่มต้น rsync daemon ด้วยตนเอง
เรียงลำดับ โอน สั่งซื้อ
Rsync จะเรียงลำดับชื่อไฟล์ที่ระบุในรายการโอนภายในเสมอ นี้จัดการ
การรวมเนื้อหาของไดเร็กทอรีที่มีชื่อเหมือนกันเข้าด้วยกันทำให้ง่ายต่อการ
ลบชื่อไฟล์ที่ซ้ำกัน และอาจสร้างความสับสนให้กับใครบางคนเมื่อไฟล์ถูกถ่ายโอนใน a
ลำดับที่แตกต่างจากที่ได้รับในบรรทัดคำสั่ง
หากคุณต้องการโอนไฟล์ใดไฟล์หนึ่งก่อนอื่น ให้แยกไฟล์
ไฟล์ในการโทร rsync ที่แตกต่างกันหรือพิจารณาใช้ --delay-update (ซึ่งไม่มีผลกระทบ
ลำดับการถ่ายโอนที่เรียงลำดับ แต่ทำให้ขั้นตอนการอัปเดตไฟล์ขั้นสุดท้ายเกิดขึ้นมากขึ้น
อย่างรวดเร็ว)
ตัวอย่าง
นี่คือตัวอย่างบางส่วนของวิธีที่ฉันใช้ rsync
เพื่อสำรองโฮมไดเร็กตอรี่ของภรรยาผม ซึ่งประกอบด้วยไฟล์ MS Word และ Mail ขนาดใหญ่
โฟลเดอร์ฉันใช้งาน cron ที่ทำงานอยู่
rsync -Cavz . arvidsjaur:สำรอง
ทุกคืนผ่านการเชื่อมต่อ PPP ไปยังไดเร็กทอรีที่ซ้ำกันบนเครื่องของฉัน "arvidsjaur"
ในการซิงโครไนซ์ทรีซอร์สของ samba ฉันใช้เป้าหมาย Makefile ต่อไปนี้:
รับ:
rsync -avuzb --exclude '*~' samba:samba/ .
ใส่:
rsync -Cavuzb . แซมบ้า:แซมบ้า/
ซิงค์: รับใส่
สิ่งนี้ทำให้ฉันสามารถซิงค์กับไดเร็กทอรี CVS ที่ปลายอีกด้านของการเชื่อมต่อ จากนั้นฉันก็ทำ
การทำงานของ CVS บนเครื่องระยะไกล ซึ่งช่วยประหยัดเวลาได้มากในฐานะโปรโตคอล CVS ระยะไกล
ไม่ค่อยมีประสิทธิภาพ
ฉันมิเรอร์ไดเรกทอรีระหว่างไซต์ ftp "เก่า" และ "ใหม่" ด้วยคำสั่ง:
rsync -az -e ssh --delete ~ftp/pub/samba nimbus:"~ftp/pub/tridge"
สิ่งนี้เปิดตัวจาก cron ทุก ๆ สองสามชั่วโมง
OPTIONS สรุป
นี่คือบทสรุปสั้นๆ ของตัวเลือกที่มีให้ใน rsync โปรดดูรายละเอียด
คำอธิบายด้านล่างสำหรับคำอธิบายที่สมบูรณ์
-v, --verbose เพิ่มความฟุ่มเฟือย
--info=FLAGS การใช้คำฟุ่มเฟือยของข้อมูลอย่างละเอียด
--debug=FLAGS ความละเอียดในการดีบักแบบละเอียด
--msgs2stderr การจัดการเอาต์พุตพิเศษสำหรับการดีบัก
-q, --quiet ระงับข้อความที่ไม่ใช่ข้อผิดพลาด
--no-motd ระงับ daemon-mode MOTD (ดูคำเตือน)
-c, --checksum ข้ามตาม checksum ไม่ใช่ mod-time & size
-a, --archive โหมดเก็บถาวร; เท่ากับ -rlptgoD (ไม่มี -H,-A,-X)
--no-OPTION ปิด OPTION โดยนัย (เช่น --no-D)
-r, --recursive recurse ในไดเร็กทอรี
-R, --relative ใช้ชื่อพาธสัมพัทธ์
--no-implied-dirs ไม่ส่ง dirs โดยนัยด้วย --relative
-b, --backup ทำการสำรองข้อมูล (ดู --suffix & --backup-dir)
--backup-dir=DIR ทำการสำรองข้อมูลเป็นลำดับชั้นตาม DIR
--suffix=SUFFIX นามสกุลสำรอง (ค่าเริ่มต้น ~ w/o --backup-dir)
-u, --update ข้ามไฟล์ที่ใหม่กว่าบนตัวรับ
--inplace อัปเดตไฟล์ปลายทางในสถานที่
--append ผนวกข้อมูลลงในไฟล์ที่สั้นลง
--append-verify --ผนวกข้อมูลเก่าในไฟล์ checksum
-d, --dirs ไดเร็กทอรีการถ่ายโอนโดยไม่เรียกซ้ำ
-l, --links คัดลอก symlink เป็น symlinks
-L, --copy-links แปลง symlink เป็นไฟล์อ้างอิง/dir
--copy-unsafe-links เฉพาะลิงก์ที่ "ไม่ปลอดภัย" เท่านั้นที่จะถูกแปลง
--safe-links ละเว้น symlink ที่ชี้นอก tree
--munge-links ลิงก์ munge เพื่อให้ปลอดภัยยิ่งขึ้น
-k, --copy-dirlinks เปลี่ยน symlink เป็น dir เป็น dir อ้างอิง
-K, --keep-dirlinks ถือว่า dir เชื่อมโยงบนผู้รับเป็น dir
-H, --hard-links รักษาฮาร์ดลิงก์
-p, --perms รักษาสิทธิ์
-E, --executability รักษาความสามารถในการเรียกทำงาน
--chmod=CHMOD ส่งผลกระทบต่อไฟล์และ/หรือสิทธิ์ไดเรกทอรี
-A, --acls รักษา ACLs (หมายถึง -p)
-X, --xattrs รักษาแอตทริบิวต์เพิ่มเติม
-o, --owner รักษาเจ้าของ (ผู้ใช้ขั้นสูงเท่านั้น)
-g, --group รักษากลุ่ม
--devices รักษาไฟล์อุปกรณ์ (ผู้ใช้ขั้นสูงเท่านั้น)
--specials รักษาไฟล์พิเศษ
-D เหมือนกับ --devices --specials
-t, --times รักษาการดัดแปลงครั้ง
-O, --omit-dir-times ละเว้นไดเรกทอรีจาก --times
-J, --omit-link-times ละเว้น symlink จาก --times
--super receiver พยายามทำกิจกรรม super-user
--fake-super store / กู้คืน attr ที่มีสิทธิพิเศษโดยใช้ xattrs
-S, --sparse จัดการไฟล์แบบกระจายอย่างมีประสิทธิภาพ
--preallocate จัดสรรไฟล์ปลายทางก่อนเขียน
-n, --dry-run ทำการทดลองใช้งานโดยไม่มีการเปลี่ยนแปลงใดๆ
-W, --whole-file คัดลอกไฟล์ทั้งหมด (ไม่มีอัลกอริธึม delta-xfer)
-x, --one-file-system ไม่ข้ามขอบเขตของระบบไฟล์
-B, --block-size=SIZE บังคับ checksum block-size คงที่
-e, --rsh=COMMAND ระบุรีโมตเชลล์ที่จะใช้
--rsync-path=PROGRAM ระบุ rsync ให้ทำงานบนเครื่องระยะไกล
--ที่มีอยู่ข้ามการสร้างไฟล์ใหม่บนผู้รับ
--ignore-existing ข้ามการอัปเดตไฟล์ที่มีอยู่ในเครื่องรับ
--remove-source-files ผู้ส่งลบไฟล์ที่ซิงโครไนซ์ (ไม่ใช่ dir)
--del นามแฝงสำหรับ --delete-during
--delete ลบไฟล์ที่ไม่เกี่ยวข้องออกจาก dest dirs
--delete-ก่อนที่ผู้รับจะลบก่อน xfer ไม่ใช่ระหว่าง
--ลบ-ระหว่างผู้รับลบระหว่างการถ่ายโอน
--delete-delay ค้นหาการลบระหว่างลบหลังจาก
--delete-after ผู้รับจะลบหลังจากโอน ไม่ใช่ระหว่าง
--delete-excluded ยังลบไฟล์ที่แยกจาก dest dirs
--ignore-missing-args ละเว้น args ต้นทางที่ขาดหายไปโดยไม่มีข้อผิดพลาด
--delete-missing-args ลบ args ต้นทางที่ขาดหายไปจากปลายทาง
--ignore-errors ลบแม้ว่าจะมีข้อผิดพลาด I/O ก็ตาม
--force บังคับให้ลบ dirs แม้ว่าจะไม่ว่างเปล่า
--max-delete=NUM ห้ามลบเกิน NUM ไฟล์
--max-size=SIZE ห้ามโอนไฟล์ใดๆ ที่ใหญ่กว่า SIZE
--min-size=SIZE ห้ามโอนไฟล์ที่เล็กกว่า SIZE
--partial เก็บไฟล์ที่ถ่ายโอนบางส่วน
--partial-dir=DIR วางไฟล์ที่ถ่ายโอนบางส่วนไปยัง DIR
--delay-updates นำไฟล์ที่อัปเดตทั้งหมดเข้าที่ในตอนท้าย
-m, --prune-empty-dirs ตัดโซ่ไดเร็กทอรีว่างจาก file-list
--รหัสตัวเลขไม่จับคู่ค่า uid/gid ตามชื่อผู้ใช้/ชื่อกลุ่ม
--usermap=STRING การแมปชื่อผู้ใช้ที่กำหนดเอง
--groupmap=STRING การแมปชื่อกลุ่มที่กำหนดเอง
--chown=USER:GROUP การแมปชื่อผู้ใช้/ชื่อกลุ่มอย่างง่าย
--timeout=SECONDS ตั้งค่าการหมดเวลาของ I/O เป็นวินาที
--contimeout=SECONDS ตั้งค่าการหมดเวลาการเชื่อมต่อ daemon เป็นวินาที
-I, --ignore-times ไม่ข้ามไฟล์ที่ตรงกับขนาดและเวลา
--size-only ข้ามไฟล์ที่ตรงกับ size
--modify-window=NUM เปรียบเทียบ mod-times ด้วยความแม่นยำที่ลดลง
-T, --temp-dir=DIR สร้างไฟล์ชั่วคราวในไดเร็กทอรี DIR
-y, --fuzzy ค้นหาไฟล์ที่คล้ายกันเป็นพื้นฐานหากไม่มีไฟล์ปลายทาง
--compare-dest=DIR ยังเปรียบเทียบไฟล์ที่ได้รับที่สัมพันธ์กับ DIR
--copy-dest=DIR ... และรวมสำเนาของไฟล์ที่ไม่เปลี่ยนแปลง
--link-dest=DIR ฮาร์ดลิงก์ไปยังไฟล์ใน DIR เมื่อไม่เปลี่ยนแปลง
-z, --compress บีบอัดข้อมูลไฟล์ระหว่างการถ่ายโอน
--compress-level=NUM กำหนดระดับการบีบอัดอย่างชัดเจน
--skip-compress=LIST ข้ามการบีบอัดไฟล์ที่มีส่วนต่อท้ายใน LIST
-C, --cvs-exclude auto-ignore ไฟล์ในลักษณะเดียวกับที่ CVS ทำ
-f, --filter=RULE เพิ่มการกรองไฟล์ RULE
-F เหมือนกับ --filter='dir-merge /.rsync-filter'
ซ้ำ: --filter='- .rsync-filter'
--exclude=PATTERN ไม่รวมไฟล์ที่ตรงกับ PATTERN
--exclude-from=FILE อ่านไม่รวมรูปแบบจาก FILE
--include=PATTERN ไม่รวมไฟล์ที่ตรงกับ PATTERN
--include-from=FILE อ่านรวมถึงรูปแบบจาก FILE
--files-from=FILE อ่านรายชื่อไฟล์ต้นฉบับจาก FILE
-0, --from0 ทั้งหมด *ไฟล์จาก/ตัวกรองถูกคั่นด้วย 0s
-s, --protect-args ไม่มีการแบ่งพื้นที่ อักขระตัวแทนเท่านั้น
--address=ADDRESS ผูกที่อยู่สำหรับซ็อกเก็ตขาออกไปยัง daemon
--port=PORT ระบุหมายเลขพอร์ตสำรองแบบดับเบิ้ลโคลอน
--sockopts=OPTIONS ระบุตัวเลือก TCP ที่กำหนดเอง
--blocking-io ใช้การบล็อก I/O สำหรับรีโมตเชลล์
--outbuf=N|L|B ตั้งค่าบัฟเฟอร์เป็น None, Line หรือ Block
--stats ให้สถิติการถ่ายโอนไฟล์บางส่วน
-8, ---8-bit-output ปล่อยให้อักขระสูงบิตไม่มีค่า Escape ในเอาต์พุต
-h, --ตัวเลขเอาต์พุตที่มนุษย์อ่านได้ในรูปแบบที่มนุษย์อ่านได้
--ความคืบหน้าแสดงความคืบหน้าระหว่างการโอน
-P เหมือนกับ --partial --progress
-i, --itemize-changes แสดงผลสรุปการเปลี่ยนแปลงสำหรับการอัปเดตทั้งหมด
-M, --remote-option=OPTION ส่ง OPTION ไปที่ฝั่งรีโมทเท่านั้น
--out-format=FORMAT เอาต์พุตอัพเดตโดยใช้ FORMAT . ที่ระบุ
--log-file=FILE บันทึกสิ่งที่เรากำลังทำกับ FILE . ที่ระบุ
--log-file-format=บันทึก FMT อัปเดตโดยใช้ FMT . ที่ระบุ
--password-file=FILE อ่านรหัสผ่านการเข้าถึง daemon จาก FILE
--list-only แสดงรายการไฟล์แทนการคัดลอกไฟล์เหล่านั้น
--bwlimit=RATE จำกัดแบนด์วิดธ์ I/O ของซ็อกเก็ต
--write-batch=FILE เขียนการอัปเดตเป็นชุดไปยัง FILE
--only-write-batch=FILE like --write-batch แต่ไม่มีการอัปเดต dest
--read-batch=FILE อ่านการอัปเดตแบบแบตช์จาก FILE
--protocol=NUM บังคับให้ใช้โปรโตคอลเวอร์ชันเก่า
--iconv=CONVERT_SPEC ขอการแปลงชุดอักขระของชื่อไฟล์
--checksum-seed=NUM ชุดบล็อก / ไฟล์ checksum seed (ขั้นสูง)
-4, --ipv4 ชอบ IPv4
-6, --ipv6 ชอบ IPv6
--รุ่นพิมพ์หมายเลขรุ่น
(-h) --help แสดงความช่วยเหลือนี้ (ดูด้านล่างสำหรับความคิดเห็น -h)
Rsync ยังสามารถเรียกใช้เป็น daemon ซึ่งในกรณีนี้จะยอมรับตัวเลือกต่อไปนี้:
--daemon ทำงานเป็น rsync daemon
--address=ADDRESS ผูกกับที่อยู่ที่ระบุ
--bwlimit=RATE จำกัดแบนด์วิดธ์ I/O ของซ็อกเก็ต
--config=FILE ระบุไฟล์ rsyncd.conf สำรอง
-M, --dparam=OVERRIDE แทนที่ global daemon config Parameter
--no-detach ไม่แยกออกจาก parent
--port=PORT ฟังบนหมายเลขพอร์ตสำรอง
--log-file=FILE แทนที่การตั้งค่า "ไฟล์บันทึก"
--log-file-format=FMT แทนที่การตั้งค่า "รูปแบบบันทึก"
--sockopts=OPTIONS ระบุตัวเลือก TCP ที่กำหนดเอง
-v, --verbose เพิ่มความฟุ่มเฟือย
-4, --ipv4 ชอบ IPv4
-6, --ipv6 ชอบ IPv6
-h, --help แสดงความช่วยเหลือนี้ (หากใช้หลัง --daemon)
OPTIONS
Rsync ยอมรับตัวเลือกทั้งแบบยาว (ขีดคู่ + คำ) และแบบสั้น (ขีดเดียว + ตัวอักษร)
รายการตัวเลือกทั้งหมดที่มีจะอธิบายไว้ด้านล่าง หากสามารถระบุตัวเลือกได้
ตัวเลือกต่างๆ จะคั่นด้วยเครื่องหมายจุลภาคในมากกว่าหนึ่งวิธี บางตัวเลือกมีความยาวเท่านั้น
ตัวแปรไม่สั้น หากตัวเลือกรับพารามิเตอร์ พารามิเตอร์จะแสดงหลังจาก .เท่านั้น
ตัวแปรแบบยาว แม้ว่าจะต้องระบุสำหรับตัวแปรแบบสั้นด้วย เมื่อระบุ a
คุณสามารถใช้รูปแบบ --option=param หรือแทนที่ '=' ด้วยช่องว่าง
อาจจำเป็นต้องอ้างอิงพารามิเตอร์ในลักษณะใดลักษณะหนึ่งเพื่อให้สามารถอยู่รอดได้ของเชลล์
การแยกวิเคราะห์บรรทัดคำสั่ง โปรดทราบว่าเครื่องหมายตัวหนอนนำ (~) ในชื่อไฟล์จะถูกแทนที่
โดยเชลล์ของคุณ ดังนั้น --option=~/ฟู่ จะไม่เปลี่ยนตัวหนอนเป็นโฮมไดเร็กตอรี่ของคุณ
(ลบ '=' สำหรับสิ่งนั้น)
--ช่วยด้วย พิมพ์หน้าความช่วยเหลือสั้นๆ ที่อธิบายตัวเลือกที่มีอยู่ใน rsync และ exit สำหรับ
ความเข้ากันได้แบบย้อนหลังกับ rsync เวอร์ชันเก่าความช่วยเหลือก็จะถูกส่งออก
หากคุณใช้ไฟล์ -h ตัวเลือกที่ไม่มีอาร์กิวเมนต์อื่น ๆ
--รุ่น
พิมพ์หมายเลขเวอร์ชัน rsync และออก
-ใน, --รายละเอียด
ตัวเลือกนี้จะเพิ่มจำนวนข้อมูลที่คุณได้รับระหว่างการโอน
ตามค่าเริ่มต้น rsync จะทำงานโดยไม่โต้ตอบ โสด -v จะให้ข้อมูลเกี่ยวกับสิ่งที่
กำลังโอนไฟล์และสรุปโดยย่อในตอนท้าย สอง -v ตัวเลือกจะ
ให้ข้อมูลเกี่ยวกับไฟล์ที่ถูกข้ามและข้อมูลเพิ่มเติมเล็กน้อย
ในตอนท้าย มากกว่าสอง -v ควรใช้ตัวเลือกเฉพาะในกรณีที่คุณกำลังดีบั๊ก
rsync
ใน rsync ที่ทันสมัย the -v ตัวเลือกเทียบเท่ากับการตั้งกลุ่มของ --ข้อมูล
และ --debug ตัวเลือก. คุณสามารถเลือกใช้ตัวเลือกที่ใหม่กว่าเหล่านี้นอกเหนือจากหรือ
แทนการใช้ --รายละเอียดเนื่องจากการตั้งค่าแบบละเอียดใดๆ จะแทนที่ค่าโดยนัย
การตั้งค่าของ -v. ทั้งสอง --ข้อมูล และ --debug มีวิธีขอความช่วยเหลือที่บอกคุณ
ตั้งค่าสถานะสำหรับการใช้คำฟุ่มเฟือยที่เพิ่มขึ้นในแต่ละครั้ง
อย่างไรก็ตาม โปรดทราบว่าการตั้งค่า "max verbosity" ของ daemon จะจำกัดวิธีการ
ระดับสูง แฟล็กแต่ละรายการสามารถตั้งค่าได้ที่ฝั่ง daemon สำหรับ
เช่น หากค่าสูงสุดคือ 2 แสดงว่าข้อมูลและ/หรือแฟล็กการดีบักใดๆ ที่ตั้งไว้สูงกว่า
มีค่ามากกว่าที่จะถูกกำหนดโดย -vv จะถูกดาวน์เกรดเป็น -vv ระดับใน
การบันทึกของ daemon
--info=ธง
ตัวเลือกนี้ช่วยให้คุณมีการควบคุมที่ละเอียดสำหรับข้อมูลที่ส่งออกที่คุณต้องการ
เพื่อที่จะได้เห็น. ชื่อแฟล็กแต่ละรายการอาจตามด้วยหมายเลขระดับ โดยมีค่า 0 ความหมาย
เพื่อปิดเสียงเอาต์พุตนั้น 1 คือระดับเอาต์พุตเริ่มต้นและตัวเลขที่สูงขึ้น
เพิ่มเอาต์พุตของแฟล็กนั้น (สำหรับผู้ที่สนับสนุนระดับที่สูงกว่า) ใช้
--info=ช่วยเหลือ เพื่อดูชื่อแฟล็กที่มีอยู่ทั้งหมด เอาต์พุตอะไร และแฟล็กใด
ชื่อจะถูกเพิ่มสำหรับการเพิ่มระดับ verbose แต่ละครั้ง ตัวอย่างบางส่วน:
rsync -a --info=progress2 src/ ปลายทาง/
rsync -avv --info=stats2,misc1,flist0 src/ ปลายทาง/
โปรดทราบว่า --info=ชื่อผลผลิตได้รับผลกระทบจาก --นอกรูปแบบ และ
--itemize-การเปลี่ยนแปลง (-i) ตัวเลือก. ดูตัวเลือกเหล่านั้นสำหรับข้อมูลเพิ่มเติมว่าคืออะไร
เอาท์พุทและเมื่อ
เพิ่มตัวเลือกนี้ใน 3.1.0 ดังนั้น rsync ที่เก่ากว่าบนฝั่งเซิร์ฟเวอร์อาจปฏิเสธ
ความพยายามของคุณในการควบคุมแบบละเอียด (หากต้องการส่งแฟล็กหนึ่งรายการขึ้นไปไปยัง
เซิร์ฟเวอร์และเซิร์ฟเวอร์เก่าเกินกว่าจะเข้าใจได้) ดูเพิ่มเติมที่ "max
การใช้คำฟุ่มเฟือย" ข้อแม้ด้านบนเมื่อจัดการกับภูต
--debug=ธง
ตัวเลือกนี้ช่วยให้คุณควบคุมเอาต์พุตการดีบักที่คุณต้องการได้อย่างละเอียด
ดู. ชื่อแฟล็กแต่ละรายการอาจตามด้วยหมายเลขระดับ โดย 0 หมายถึง
ปิดเสียงเอาต์พุตนั้น 1 คือระดับเอาต์พุตเริ่มต้นและตัวเลขที่สูงกว่า
เพิ่มเอาต์พุตของแฟล็กนั้น (สำหรับผู้ที่สนับสนุนระดับที่สูงกว่า) ใช้
--debug=ความช่วยเหลือ เพื่อดูชื่อแฟล็กที่มีอยู่ทั้งหมด เอาต์พุตอะไร และแฟล็กใด
ชื่อจะถูกเพิ่มสำหรับการเพิ่มระดับ verbose แต่ละครั้ง ตัวอย่างบางส่วน:
rsync -avvv --debug=ไม่มี src/ ปลายทาง/
rsync -avA --del --debug=del2,acl src/ ปลายทาง/
โปรดทราบว่าข้อความการดีบักบางข้อความจะแสดงเมื่อ --msgs2stderr ระบุไว้
โดยเฉพาะที่เกี่ยวข้องกับ I/O และการดีบักบัฟเฟอร์
เพิ่มตัวเลือกนี้ใน 3.1.0 ดังนั้น rsync ที่เก่ากว่าบนฝั่งเซิร์ฟเวอร์อาจปฏิเสธ
ความพยายามของคุณในการควบคุมแบบละเอียด (หากต้องการส่งแฟล็กหนึ่งรายการขึ้นไปไปยัง
เซิร์ฟเวอร์และเซิร์ฟเวอร์เก่าเกินกว่าจะเข้าใจได้) ดูเพิ่มเติมที่ "max
การใช้คำฟุ่มเฟือย" ข้อแม้ด้านบนเมื่อจัดการกับภูต
--msgs2stderr
ตัวเลือกนี้เปลี่ยน rsync เพื่อส่งเอาต์พุตทั้งหมดโดยตรงไปยัง stderr แทนที่จะส่งไปยัง
ส่งข้อความไปยังฝั่งไคลเอ็นต์ผ่านโปรโตคอล (ซึ่งปกติแล้วส่งออกข้อมูล
ข้อความผ่าน stdout) ซึ่งมีวัตถุประสงค์หลักสำหรับการดีบักเพื่อหลีกเลี่ยง
เปลี่ยนข้อมูลที่ส่งผ่านโปรโตคอล เนื่องจากข้อมูลโปรโตคอลเพิ่มเติมสามารถเปลี่ยนแปลงได้
สิ่งที่กำลังถูกทดสอบ โปรดทราบว่าการเชื่อมต่อ daemon ไม่มี stderr
ช่องทางในการส่งข้อความกลับไปทางฝั่ง Client ดังนั้นหากคุณกำลังดำเนินการใดๆ
daemon-transfer debugging โดยใช้ตัวเลือกนี้ คุณควรเริ่มต้น daemon โดยใช้
--ไม่ถอด เพื่อให้คุณสามารถเห็นเอาต์พุต stderr ทางฝั่ง daemon
ตัวเลือกนี้มีผลข้างเคียงในการทำให้เอาต์พุต stderr ได้รับบัฟเฟอร์บรรทัดดังนั้น
การรวมเอาท์พุตของ 3 โปรแกรมเกิดขึ้นในลักษณะที่อ่านง่ายขึ้น
-NS, --เงียบ
ตัวเลือกนี้ลดจำนวนข้อมูลที่คุณได้รับระหว่างการโอน
โดยเฉพาะอย่างยิ่งการระงับข้อความข้อมูลจากเซิร์ฟเวอร์ระยะไกล ตัวเลือกนี้คือ
มีประโยชน์เมื่อเรียกใช้ rsync จาก cron
--no-motd
ตัวเลือกนี้มีผลกับข้อมูลที่ลูกค้าส่งออกเมื่อเริ่มต้น a
การถ่ายโอนภูต สิ่งนี้จะระงับข้อความของวัน (MOTD) แต่ก็เช่นกัน
ส่งผลต่อรายการโมดูลที่ daemon ส่งเพื่อตอบสนองต่อ "rsync host::"
คำขอ (เนื่องจากข้อ จำกัด ในโปรโตคอล rsync) ดังนั้นให้ข้ามตัวเลือกนี้หากคุณ
ต้องการขอรายชื่อโมดูลจากภูต
-ผม, --ignore-ครั้ง
โดยปกติ rsync จะข้ามไฟล์ใด ๆ ที่มีขนาดเท่ากันและมีขนาดเท่ากัน
การปรับเปลี่ยนเวลาประทับ ตัวเลือกนี้จะปิดการทำงาน "การตรวจสอบอย่างรวดเร็ว" ซึ่งทำให้
ไฟล์ทั้งหมดที่จะอัปเดต
--ขนาดเท่านั้น
สิ่งนี้จะแก้ไขอัลกอริทึม "ตรวจสอบอย่างรวดเร็ว" ของ rsync สำหรับการค้นหาไฟล์ที่จำเป็นต้องมี
โอน เปลี่ยนจากค่าเริ่มต้นของการถ่ายโอนไฟล์ด้วย a
เปลี่ยนขนาดหรือเปลี่ยนเวลาแก้ไขล่าสุดเป็นเพียงแค่ค้นหาไฟล์ที่มี
เปลี่ยนขนาด สิ่งนี้มีประโยชน์เมื่อเริ่มใช้ rsync หลังจากใช้ another
ระบบมิเรอร์ซึ่งอาจไม่รักษาการประทับเวลาอย่างแน่นอน
--modify-หน้าต่าง
เมื่อเปรียบเทียบการประทับเวลาสองครั้ง rsync จะถือว่าการประทับเวลานั้นเท่ากันหาก
ต่างกันไม่เกินค่าหน้าต่างแก้ไข ซึ่งปกติแล้วจะเป็น 0 (สำหรับค่าที่แน่นอน
ตรงกัน) แต่คุณอาจพบว่าการตั้งค่านี้เป็นค่าที่มากขึ้นในบางส่วน
สถานการณ์ โดยเฉพาะเมื่อถ่ายโอนไปยังหรือจาก MS Windows FAT
ระบบไฟล์ (ซึ่งหมายถึงเวลาที่มีความละเอียด 2 วินาที) --แก้ไขหน้าต่าง=1
มีประโยชน์ (ทำให้เวลาต่างกันไม่เกิน 1 วินาที)
-ค, --เช็คซัม
สิ่งนี้จะเปลี่ยนวิธีที่ rsync ตรวจสอบว่าไฟล์มีการเปลี่ยนแปลงและต้องการ
การโอน หากไม่มีตัวเลือกนี้ rsync จะใช้ "การตรวจสอบอย่างรวดเร็ว" ที่ (โดยค่าเริ่มต้น)
ตรวจสอบว่าขนาดและเวลาในการแก้ไขของแต่ละไฟล์ตรงกันระหว่างผู้ส่งหรือไม่
และเครื่องรับ ตัวเลือกนี้เปลี่ยนแปลงเพื่อเปรียบเทียบเช็คซัม 128 บิตสำหรับแต่ละไฟล์
ที่มีขนาดตรงกัน การสร้างเช็คซัมหมายความว่าทั้งสองฝ่ายจะ
ใช้ดิสก์ I/O จำนวนมากเพื่ออ่านข้อมูลทั้งหมดในไฟล์ในการถ่ายโอน (และ
นี่คือก่อนการอ่านใด ๆ ที่จะทำเพื่อถ่ายโอนไฟล์ที่เปลี่ยนแปลง) ดังนั้นสิ่งนี้
สามารถทำให้สิ่งต่าง ๆ ช้าลงอย่างมาก
ฝ่ายส่งจะสร้างเช็คซัมในขณะที่ทำการสแกนระบบไฟล์
ที่สร้างรายการไฟล์ที่มีอยู่ ผู้รับสร้างเช็คซัม
เมื่อสแกนหาไฟล์ที่เปลี่ยนแปลง และจะตรวจสอบไฟล์ใด ๆ ที่เหมือนกัน
ขนาดเป็นไฟล์ของผู้ส่งที่เกี่ยวข้อง: ไฟล์ที่มีการเปลี่ยนแปลงขนาดหรือa
เช็คซัมที่เปลี่ยนแปลงจะถูกเลือกสำหรับการโอน
โปรดทราบว่า rsync จะตรวจสอบเสมอว่าแต่ละ โอน ไฟล์ถูกต้อง
สร้างใหม่ทางด้านรับโดยการตรวจสอบเช็คซัมทั้งไฟล์นั่นคือ
สร้างเมื่อไฟล์ถูกถ่ายโอน แต่อัตโนมัติหลังการถ่ายโอน
การยืนยันไม่มีส่วนเกี่ยวข้องกับตัวเลือกนี้ก่อนการโอน "ทำสิ่งนี้
ต้องอัปเดตไฟล์หรือไม่" ตรวจสอบ
สำหรับโปรโตคอล 30 ขึ้นไป (รองรับครั้งแรกใน 3.0.0) เช็คซัมที่ใช้คือ MD5
สำหรับโปรโตคอลรุ่นเก่า เช็คซัมที่ใช้คือ MD4
-NS, --คลังเก็บเอกสารสำคัญ
ซึ่งเทียบเท่ากับ -rlptgoD. เป็นวิธีที่รวดเร็วในการพูดว่าคุณต้องการเรียกซ้ำและ
ต้องการรักษาไว้เกือบทุกอย่าง (โดยที่ -H เป็นการละเลยที่โดดเด่น) เพียง
ข้อยกเว้นสำหรับความเท่าเทียมกันข้างต้นคือเมื่อ --files-จาก ระบุไว้ ซึ่งในกรณีนี้
-r ไม่ได้หมายความถึง
โปรดทราบว่า -a ทำ ไม่ เก็บ ฮาร์ดลิงก์เพราะการค้นหาไฟล์ที่เชื่อมโยงแบบทวีคูณคือ
เเพง. คุณต้องระบุแยกต่างหาก -H.
--no-ตัวเลือก
คุณสามารถปิดตัวเลือกโดยนัยหนึ่งตัวเลือกขึ้นไปโดยนำหน้าชื่อตัวเลือกด้วย
"ไม่-". ไม่ใช่ทุกตัวเลือกที่นำหน้าด้วย "ไม่-": เฉพาะตัวเลือกที่บอกเป็นนัย
โดยตัวเลือกอื่นๆ (เช่น --ไม่มี-D, --ไม่มีใบอนุญาต) หรือมีค่าเริ่มต้นแตกต่างกันในต่างๆ
สถานการณ์ (เช่น --no-ทั้งไฟล์, --ไม่มีการปิดกั้น-io, --no-dirs). คุณอาจระบุ
ชื่อตัวเลือกสั้นหรือยาวหลังคำนำหน้า "ไม่-" (เช่น --ก็ไม่เช่นกัน คือ
เช่นเดียวกับที่ --ไม่มีญาติ).
ตัวอย่างเช่น หากคุณต้องการใช้ -a (--คลังเก็บเอกสารสำคัญ) แต่ไม่ต้องการ -o (--เจ้าของ), แทนที่
ของการแปลง -a เข้าไป -rlptgD, คุณสามารถระบุ -a --ไม่-o (หรือ -a --ไม่มีเจ้าของ).
ลำดับของตัวเลือกมีความสำคัญ: หากคุณระบุ --ก็ไม่เช่นกัน -aที่ -r ตัวเลือก
จะถูกเปิดอยู่ตรงข้ามกับ -a --ก็ไม่เช่นกัน. ทราบด้วยว่า
ผลข้างเคียงของ --files-จาก ตัวเลือกไม่ใช่ตำแหน่ง เนื่องจากจะส่งผลต่อ
สถานะเริ่มต้นของหลายตัวเลือกและเปลี่ยนความหมายของ .เล็กน้อย -a (โปรดดู
--files-จาก ตัวเลือกสำหรับรายละเอียดเพิ่มเติม)
-NS, - บันทึกซ้ำ
สิ่งนี้บอกให้ rsync คัดลอกไดเร็กทอรีแบบเรียกซ้ำ ดูสิ่งนี้ด้วย --ผอ (-d).
เริ่มต้นด้วย rsync 3.0.0 ตอนนี้อัลกอริทึมแบบเรียกซ้ำที่ใช้เป็นการสแกนแบบเพิ่มหน่วย
ที่ใช้หน่วยความจำน้อยกว่าเดิมมาก และเริ่มการถ่ายโอนหลังจากการสแกน
ของไดเร็กทอรีสองสามรายการแรกเสร็จสมบูรณ์ การสแกนที่เพิ่มขึ้นนี้เท่านั้น
ส่งผลกระทบต่ออัลกอริธึมการเรียกซ้ำของเรา และไม่เปลี่ยนการถ่ายโอนแบบไม่เรียกซ้ำ มัน
เป็นไปได้ก็ต่อเมื่อปลายทั้งสองของการถ่ายโอนเป็นเวอร์ชัน 3.0.0 เป็นอย่างน้อย
บางตัวเลือกต้องใช้ rsync เพื่อทราบรายการไฟล์ทั้งหมด ดังนั้นตัวเลือกเหล่านี้จะปิดการใช้งาน
โหมดการเรียกซ้ำที่เพิ่มขึ้น ซึ่งรวมถึง: --ลบก่อน, --ลบหลัง,
--prune-ว่าง-dirsและ --delay-update. ด้วยเหตุนี้ โหมดการลบเริ่มต้น
เมื่อคุณระบุ --ลบ คือตอนนี้ --ลบ-ระหว่าง เมื่อปลายทั้งสองของการเชื่อมต่อ
อย่างน้อย 3.0.0 (ใช้ --เดล or --ลบ-ระหว่าง เพื่อขอให้ลบที่ปรับปรุงนี้
โหมดอย่างชัดเจน) ดูเพิ่มเติมที่ --ลบ-ล่าช้า ทางเลือกที่ดีกว่า
การใช้ --ลบหลัง.
สามารถปิดใช้งานการเรียกซ้ำที่เพิ่มขึ้นได้โดยใช้ปุ่ม --no-inc-เรียกซ้ำ ตัวเลือกหรือของมัน
สั้น --no-ir นามแฝง
-NS, --ญาติ
ใช้เส้นทางสัมพัทธ์ ซึ่งหมายความว่าชื่อพาธแบบเต็มที่ระบุในคำสั่ง
บรรทัดจะถูกส่งไปยังเซิร์ฟเวอร์แทนที่จะเป็นเพียงส่วนสุดท้ายของชื่อไฟล์ นี้
มีประโยชน์อย่างยิ่งเมื่อคุณต้องการส่งไดเร็กทอรีต่างๆ ไปที่
ในเวลาเดียวกัน. ตัวอย่างเช่น หากคุณใช้คำสั่งนี้:
rsync -av /foo/bar/baz.c รีโมท:/ tmp /
... สิ่งนี้จะสร้างไฟล์ชื่อ baz.c in / tmp / บนเครื่องระยะไกล ถ้าแทน
คุณใช้
rsync -avR /foo/bar/baz.c รีโมท:/ tmp /
จากนั้นไฟล์ชื่อ /tmp/foo/bar/baz.c จะถูกสร้างขึ้นบนเครื่องระยะไกล
รักษาเส้นทางที่สมบูรณ์ องค์ประกอบเส้นทางพิเศษเหล่านี้เรียกว่า "โดยนัย
ไดเร็กทอรี" (เช่น ไดเร็กทอรี "foo" และ "foo/bar" ในตัวอย่างด้านบน)
เริ่มต้นด้วย rsync 3.0.0 rsync จะส่งไดเร็กทอรีโดยนัยเหล่านี้เป็นของจริงเสมอ
ไดเร็กทอรีในรายการไฟล์ แม้ว่าเอลิเมนต์พาธจะเป็น symlink บน
ด้านส่ง. สิ่งนี้จะป้องกันพฤติกรรมที่ไม่คาดคิดเมื่อคัดลอกตัวเต็ม
เส้นทางของไฟล์ที่คุณไม่ทราบว่ามี symlink ในเส้นทาง ถ้าคุณต้องการ
ทำซ้ำ symlink ฝั่งเซิร์ฟเวอร์ รวมทั้ง symlink ผ่านเส้นทางและ
ไดเรกทอรีอ้างอิงผ่านเส้นทางจริง หากคุณกำลังจัดการกับ rsync ที่เก่ากว่าบน
ฝั่งส่ง คุณอาจต้องใช้ --ไม่มีนัย-dirs ตัวเลือก
นอกจากนี้ยังสามารถจำกัดจำนวนของข้อมูลพาธที่ถูกส่งโดยปริยาย
ไดเร็กทอรีสำหรับแต่ละเส้นทางที่คุณระบุ ด้วย rsync ที่ทันสมัยในด้านการส่ง
(เริ่มต้นด้วย 2.6.7) คุณสามารถแทรกจุดและเครื่องหมายทับลงในเส้นทางต้นทางได้ เช่น
นี้:
rsync -avR /foo/./bar/baz.c รีโมท:/ tmp /
นั่นจะสร้าง /tmp/bar/baz.c บนเครื่องระยะไกล (โปรดทราบว่าจุดจะต้อง
ตามด้วยเครื่องหมายทับ ดังนั้น "/foo/" จะไม่ย่อ) สำหรับrsync .ที่เก่ากว่า
คุณจะต้องใช้ chdir เพื่อจำกัดเส้นทางต้นทาง ตัวอย่างเช่น,
เมื่อกดไฟล์:
(cd /foo; rsync -avR bar/baz.c รีโมท:/ tmp /)
(โปรดทราบว่า parens ใส่คำสั่งทั้งสองลงใน sub-shell เพื่อให้ "cd"
คำสั่งจะไม่มีผลกับคำสั่งในอนาคต) หากคุณกำลังดึงไฟล์
จาก rsync ที่เก่ากว่า ให้ใช้สำนวนนี้ (แต่สำหรับการถ่ายโอนที่ไม่ใช่ daemon เท่านั้น):
rsync -avR --rsync-path="cd /foo; rsync" \
รีโมท:bar/baz.c / tmp /
--ไม่มีนัย-dirs
ตัวเลือกนี้ส่งผลต่อพฤติกรรมเริ่มต้นของ --ญาติ ตัวเลือก. เมื่อเป็น
ระบุแอตทริบิวต์ของไดเรกทอรีโดยนัยจากชื่อแหล่งที่มาไม่ได้
รวมอยู่ในการโอน ซึ่งหมายความว่าองค์ประกอบเส้นทางที่สอดคล้องกันบน
ระบบปลายทางจะไม่เปลี่ยนแปลงหากมีอยู่และขาดหายไปโดยนัย
ไดเร็กทอรีถูกสร้างขึ้นด้วยแอตทริบิวต์เริ่มต้น สิ่งนี้ยังช่วยให้สิ่งเหล่านี้โดยนัย
องค์ประกอบเส้นทางให้มีความแตกต่างกันมาก เช่น เป็นการเชื่อมโยงไปยังไดเรกทอรีบน
ด้านรับ.
ตัวอย่างเช่น หาก arg บรรทัดคำสั่งหรือไฟล์จากรายการบอก rsync ให้โอน
ไฟล์ "path/foo/file", ไดเร็กทอรี "path" และ "path/foo" มีความหมายโดยนัยเมื่อ
--ญาติ ถูกนำมาใช้. หาก "path/foo" เป็น symlink ของ "bar" บนระบบปลายทาง
rsync ที่ได้รับมักจะลบ "path/foo" สร้างใหม่เป็นไดเร็กทอรี
และรับไฟล์ไปยังไดเร็กทอรีใหม่ กับ --ไม่มีนัย-dirs, ผู้รับ
rsync อัปเดต "path/foo/file" โดยใช้องค์ประกอบเส้นทางที่มีอยู่ซึ่งหมายความว่า
ไฟล์จะถูกสร้างขึ้นใน "path/bar" อีกวิธีในการบรรลุลิงค์นี้
การอนุรักษ์คือการใช้ --เก็บ-dirlinks ตัวเลือก (ซึ่งจะส่งผลต่อ symlinks ด้วย
ไปยังไดเร็กทอรีในการโอนที่เหลือ)
เมื่อดึงไฟล์จาก rsync ที่เก่ากว่า 3.0.0 คุณอาจต้องใช้ตัวเลือกนี้
หากฝ่ายส่งมี symlink ในเส้นทางที่คุณร้องขอและคุณต้องการโดยนัย
ไดเร็กทอรีที่จะถ่ายโอนเป็นไดเร็กทอรีปกติ
-NS, --สำรองข้อมูล
ด้วยตัวเลือกนี้ ไฟล์ปลายทางที่มีอยู่ก่อนจะถูกเปลี่ยนชื่อเป็นแต่ละไฟล์คือ
โอนหรือลบ คุณสามารถควบคุมว่าไฟล์สำรองจะไปที่ไหนและอะไร (ถ้า
ใดๆ) ส่วนต่อท้ายจะถูกต่อท้ายโดยใช้ --สำรอง-ผบ และ --คำต่อท้าย ตัวเลือก
โปรดทราบว่าถ้าคุณไม่ระบุ --สำรอง-ผบ, (1) --omit-dir-ครั้ง ตัวเลือก will
เป็นนัย และ (2) ถ้า --ลบ ยังมีผลบังคับใช้ (โดยไม่มี --ลบ-ไม่รวม),
rsync จะเพิ่มกฎตัวกรอง "ป้องกัน" สำหรับส่วนต่อท้ายการสำรองข้อมูลที่ส่วนท้ายของคุณ
ที่มีอยู่ ไม่รวม (เช่น -f "P *~"). สิ่งนี้จะป้องกันไฟล์ที่สำรองไว้ก่อนหน้านี้
จากการถูกลบ โปรดทราบว่าหากคุณจัดหากฎการกรองของคุณเอง คุณอาจ
ต้องแทรกกฎการยกเว้น/ป้องกันของคุณเองที่ตำแหน่งที่สูงขึ้นใน
รายการเพื่อให้มีลำดับความสำคัญสูงพอที่จะมีประสิทธิภาพ (เช่น ถ้ากฎของคุณ
ระบุการรวม / การยกเว้นต่อท้ายของ '*' กฎที่เพิ่มอัตโนมัติจะไม่เป็น
ถึง).
--backup-dir=DIR
ร่วมกับ --สำรองข้อมูล ตัวเลือกนี้บอกให้ rsync เก็บข้อมูลสำรองทั้งหมดไว้ใน
ไดเร็กทอรีที่ระบุในด้านการรับ สามารถใช้สำหรับการเพิ่มขึ้น
การสำรองข้อมูล คุณสามารถระบุส่วนต่อท้ายสำรองเพิ่มเติมได้โดยใช้ปุ่ม --คำต่อท้าย ตัวเลือก
(มิฉะนั้น ไฟล์ที่สำรองไว้ในไดเร็กทอรีที่ระบุจะเก็บต้นฉบับไว้
ชื่อไฟล์)
โปรดทราบว่าหากคุณระบุพาธสัมพัทธ์ ไดเร็กทอรีสำรองจะสัมพันธ์กับ
ไดเร็กทอรีปลายทาง ดังนั้นคุณอาจต้องการระบุพาธสัมบูรณ์
หรือเส้นทางที่ขึ้นต้นด้วย "../" หาก rsync daemon เป็นผู้รับ ตัวรับข้อมูลสำรอง
dir ไม่สามารถออกนอกลำดับชั้นพาธของโมดูลได้ ดังนั้นโปรดระมัดระวังเป็นพิเศษที่จะไม่ลบ
หรือคัดลอกลงในนั้น
--คำต่อท้าย=คำต่อท้าย
ตัวเลือกนี้ช่วยให้คุณแทนที่ส่วนต่อท้ายการสำรองข้อมูลเริ่มต้นที่ใช้กับ --สำรองข้อมูล
(-b) ตัวเลือก. คำต่อท้ายเริ่มต้นคือ ~ ถ้าไม่ใช่ --สำรอง-ผบ ถูกระบุ มิฉะนั้น
มันเป็นสตริงว่าง
-ยู, --อัปเดต
สิ่งนี้บังคับให้ rsync ข้ามไฟล์ใด ๆ ที่มีอยู่ในปลายทางและมี
เวลาที่แก้ไขที่ใหม่กว่าไฟล์ต้นฉบับ (หากเป็นไฟล์ปลายทางที่มีอยู่
มีเวลาแก้ไขเท่ากับของไฟล์ต้นฉบับมันจะได้รับการอัปเดตหากขนาด
แตกต่าง.)
โปรดทราบว่าสิ่งนี้ไม่ส่งผลต่อการคัดลอก dirs, symlink หรือรายการพิเศษอื่น ๆ
ไฟล์. ความแตกต่างของรูปแบบไฟล์ระหว่างผู้ส่งและผู้รับอยู่เสมอ
ถือว่ามีความสำคัญเพียงพอสำหรับการปรับปรุงไม่ว่าวันที่จะเป็นวันที่
วัตถุ กล่าวอีกนัยหนึ่ง ถ้าต้นทางมีไดเร็กทอรีที่ปลายทางมี a
ไฟล์ การถ่ายโอนจะเกิดขึ้นโดยไม่คำนึงถึงการประทับเวลา
ตัวเลือกนี้เป็นกฎการโอน ไม่ใช่การยกเว้น ดังนั้นจึงไม่ส่งผลต่อข้อมูลที่
เข้าไปในรายการไฟล์ ดังนั้นจึงไม่มีผลกับการลบ มันแค่จำกัด
ไฟล์ที่ผู้รับร้องขอให้โอน
--ในสถานที่
ตัวเลือกนี้จะเปลี่ยนวิธีที่ rsync ถ่ายโอนไฟล์เมื่อจำเป็นต้องอัปเดตข้อมูล:
แทนวิธีการเริ่มต้นในการสร้างสำเนาใหม่ของไฟล์และย้ายไปยัง
วางเมื่อเสร็จแล้ว rsync แทนเขียนข้อมูลที่อัปเดตโดยตรงไปยัง
ไฟล์ปลายทาง
สิ่งนี้มีผลกระทบหลายประการ:
o ฮาร์ดลิงก์ไม่เสีย ซึ่งหมายความว่าข้อมูลใหม่จะปรากฏผ่าน
ฮาร์ดลิงก์อื่นๆ ไปยังไฟล์ปลายทาง นอกจากนี้ พยายามที่จะคัดลอก
ไฟล์ต้นทางที่แตกต่างกันไปเป็นไฟล์ปลายทางที่มีการเชื่อมโยงแบบทวีคูณจะส่งผลให้
ใน "ชักเย่อ" กับข้อมูลปลายทางที่เปลี่ยนไปมา
o ไบนารีที่ใช้งานอยู่ไม่สามารถอัปเดตได้ (ทั้งระบบปฏิบัติการจะป้องกันสิ่งนี้จาก
เกิดขึ้นหรือไบนารีที่พยายามสลับข้อมูลของตนจะผิดปกติหรือ
ความผิดพลาด)
o ข้อมูลของไฟล์จะอยู่ในสถานะไม่สอดคล้องกันระหว่างการถ่ายโอนและ
จะถูกปล่อยให้เป็นเช่นนั้นหากการถ่ายโอนถูกขัดจังหวะหรือหากการอัปเดตล้มเหลว
o ไฟล์ที่ rsync ไม่สามารถเขียนถึงไม่สามารถอัพเดตได้ ในขณะที่ผู้ใช้ขั้นสูงสามารถ
อัปเดตไฟล์ใด ๆ ผู้ใช้ปกติจะต้องได้รับอนุญาตให้เขียนสำหรับ
เปิดไฟล์เพื่อเขียนให้สำเร็จ
o ประสิทธิภาพของอัลกอริธึม delta-transfer ของ rsync อาจลดลงหากมี
ข้อมูลในไฟล์ปลายทางจะถูกเขียนทับก่อนที่จะสามารถคัดลอกไปยัง a
ตำแหน่งในภายหลังในไฟล์ สิ่งนี้ใช้ไม่ได้หากคุณใช้ --สำรองข้อมูล, ตั้งแต่
rsync นั้นฉลาดพอที่จะใช้ไฟล์สำรองเป็นไฟล์พื้นฐานสำหรับ
โอน.
คำเตือน: คุณไม่ควรใช้ตัวเลือกนี้เพื่ออัปเดตไฟล์ที่เข้าถึงโดย
อื่น ๆ ดังนั้นควรระมัดระวังเมื่อเลือกใช้สิ่งนี้สำหรับสำเนา
ตัวเลือกนี้มีประโยชน์สำหรับการถ่ายโอนไฟล์ขนาดใหญ่ที่มีการเปลี่ยนแปลงแบบบล็อกหรือ
ผนวกข้อมูล และบนระบบที่ผูกกับดิสก์ ไม่ใช่ผูกกับเครือข่าย มันสามารถ
ยังช่วยไม่ให้สแน็ปช็อตของระบบไฟล์คัดลอกเมื่อเขียนแยกส่วนทั้งหมด
เนื้อหาของไฟล์ที่มีการเปลี่ยนแปลงเพียงเล็กน้อยเท่านั้น
ตัวเลือกหมายถึง --บางส่วน (เนื่องจากการโอนขัดจังหวะจะไม่ลบ
ไฟล์) แต่ขัดแย้งกับ --partial-ผบ และ --delay-update. ก่อน rsync 2.6.4
--ในสถานที่ ยังเข้ากันไม่ได้กับ --เปรียบเทียบปลายทาง และ --link-ปลายทาง.
--ผนวก
สิ่งนี้ทำให้ rsync อัปเดตไฟล์โดยผนวกข้อมูลต่อท้ายไฟล์
ซึ่งสันนิษฐานว่าข้อมูลที่มีอยู่แล้วในด้านรับจะเหมือนกัน
ด้วยจุดเริ่มต้นของไฟล์ที่ด้านส่ง หากจำเป็นต้องโอนไฟล์
และขนาดบนตัวรับจะเท่ากันหรือยาวกว่าขนาดบนตัวผู้ส่ง
ไฟล์ถูกข้าม สิ่งนี้ไม่รบกวนการอัปเดตเนื้อหาที่ไม่ใช่ของไฟล์
แอตทริบิวต์ (เช่น สิทธิ์ ความเป็นเจ้าของ ฯลฯ) เมื่อไฟล์ไม่จำเป็นต้องเป็น
ถ่ายโอนและไม่ส่งผลต่อการอัปเดตไฟล์ที่ไม่ปกติ หมายถึง
--ในสถานที่แต่ไม่ขัดแย้งกับ --กระจัดกระจาย (เพราะมันขยาย a . เสมอ
ความยาวของไฟล์)
--ผนวก-ตรวจสอบ
ใช้งานได้เหมือนกับ --ผนวก ตัวเลือก แต่ข้อมูลที่มีอยู่ในการรับ
รวมอยู่ในขั้นตอนการตรวจสอบผลรวมไฟล์แบบเต็ม ซึ่งจะทำให้ a
ไฟล์ที่จะส่งอีกครั้งหากขั้นตอนการตรวจสอบขั้นสุดท้ายล้มเหลว (rsync ใช้ไฟล์ปกติ
ไม่ต่อท้าย --ในสถานที่ โอนเพื่อส่งใหม่)
หมายเหตุ: ก่อน rsync 3.0.0 ค่า --ผนวก ตัวเลือกทำงานเหมือน --ผนวก-ตรวจสอบดังนั้นถ้า
คุณกำลังโต้ตอบกับ rsync ที่เก่ากว่า (หรือการถ่ายโอนกำลังใช้โปรโตคอลก่อนหน้า
ถึง 30) การระบุตัวเลือกการต่อท้ายอย่างใดอย่างหนึ่งจะเริ่มต้น an --ผนวก-ตรวจสอบ โอน.
-NS, --ผอ
บอกฝ่ายส่งให้รวมไดเร็กทอรีที่พบ ไม่เหมือน
- บันทึกซ้ำ, เนื้อหาของไดเร็กทอรีจะไม่ถูกคัดลอกเว้นแต่ชื่อไดเร็กทอรี
ที่ระบุคือ "." หรือลงท้ายด้วยเครื่องหมายทับ (เช่น ".", "dir/.", "dir/" เป็นต้น)
ไม่มีตัวเลือกนี้หรือ - บันทึกซ้ำ ตัวเลือก rsync จะข้ามไดเร็กทอรีทั้งหมดมัน
เผชิญหน้า (และส่งข้อความไปยังเอฟเฟกต์นั้นสำหรับแต่ละคน) หากคุณระบุทั้ง
--ผอ และ - บันทึกซ้ำ, - บันทึกซ้ำ มีความสำคัญ
งานวิ่งการกุศล --ผอ ตัวเลือกถูกบอกเป็นนัยโดย --files-จาก หรือตัวเลือก --รายการเท่านั้น ตัวเลือก
(รวมทั้งโดยนัย --รายการเท่านั้น การใช้งาน) if - บันทึกซ้ำ ไม่ได้ระบุไว้ (เพื่อว่า
ไดเร็กทอรีจะเห็นในรายการ) ระบุ --no-dirs (หรือ --ไม่มี-d) ถ้าคุณต้องการ
ปิดสิ่งนี้
นอกจากนี้ยังมีตัวเลือกตัวช่วยความเข้ากันได้ย้อนหลัง --เก่า-dirs (หรือ --old-d) ว่า
บอกให้ rsync ใช้แฮ็คของ "-r --exclude='/*/*'" เพื่อรับ rsync ที่เก่ากว่าเพื่อแสดงรายการ
ไดเร็กทอรีเดียวโดยไม่ต้องเรียกซ้ำ
-l --ลิงค์
เมื่อพบ symlink ให้สร้าง symlink ขึ้นใหม่บนปลายทาง
-แอล, --คัดลอกลิงค์
เมื่อพบ symlink รายการที่ชี้ไปที่ (ผู้อ้างอิง) คือ
คัดลอกมากกว่า symlink ใน rsync เวอร์ชันเก่า ตัวเลือกนี้ก็มี
ผลข้างเคียงของการบอกฝ่ายรับให้ทำตาม symlink เช่น symlinks
ไปยังไดเร็กทอรี ใน rsync ที่ทันสมัยเช่นนี้ คุณจะต้องระบุ
--เก็บ-dirlinks (-K) เพื่อรับพฤติกรรมพิเศษนี้ ข้อยกเว้นเพียงอย่างเดียวคือเมื่อ
ส่งไฟล์ไปยัง rsync ที่เก่าเกินไปที่จะเข้าใจ -K -- ในกรณีนั้น -L
ตัวเลือกจะยังคงมีผลข้างเคียงของ -K ในการรับ rsync ที่เก่ากว่านั้น
--คัดลอกลิงก์ที่ไม่ปลอดภัย
สิ่งนี้บอกให้ rsync คัดลอกการอ้างอิงของลิงก์สัญลักษณ์ที่ชี้นอก
ต้นไม้ที่คัดลอก ลิงก์เชื่อมโยงแบบสัมบูรณ์ได้รับการปฏิบัติเหมือนไฟล์ทั่วไปเช่นกัน
การเชื่อมโยงใด ๆ ในเส้นทางต้นทางเองเมื่อ --ญาติ ถูกนำมาใช้. ตัวเลือกนี้ไม่มี
ผลเพิ่มเติม if --คัดลอกลิงค์ ถูกกำหนดไว้ด้วย
--safe-ลิงค์
สิ่งนี้บอก rsync ให้ละเว้นลิงก์สัญลักษณ์ที่ชี้ไปนอกทรีที่คัดลอก
การเชื่อมโยงแบบสัมบูรณ์ทั้งหมดจะถูกละเว้นเช่นกัน การใช้ตัวเลือกนี้ร่วมกับ
--ญาติ อาจให้ผลลัพธ์ที่ไม่คาดคิด
--munge-ลิงค์
ตัวเลือกนี้บอกให้ rsync (1) แก้ไข symlink ทั้งหมดทางด้านรับในทางหนึ่ง
ที่ทำให้ใช้งานไม่ได้แต่สามารถกู้คืนได้ (ดูด้านล่าง) หรือ (2) เพื่อยกเลิกการเปลี่ยน symlink บน
ฝ่ายส่งที่ถูกเก็บไว้ในสถานะมึนเมา สิ่งนี้มีประโยชน์หากคุณ
ไม่ค่อยเชื่อถือแหล่งที่มาของข้อมูลเพื่อไม่ให้พยายามส่ง symlink ไปยังa
สถานที่ที่ไม่คาดคิด
วิธีที่ rsync ปิดใช้งานการใช้ symlink คือการนำหน้าแต่ละรายการด้วย string
"/rsyncd-munged/". สิ่งนี้จะป้องกันไม่ให้ใช้ลิงก์ได้นานเท่านั้น
ไม่มีไดเร็กทอรี เมื่อเปิดใช้งานตัวเลือกนี้ rsync จะปฏิเสธที่จะทำงาน if
เส้นทางนั้นเป็นไดเร็กทอรีหรือ symlink ไปยังไดเร็กทอรี
ตัวเลือกมีผลกับฝั่งไคลเอ็นต์ของการโอนเท่านั้น ดังนั้นหากคุณต้องการ
ส่งผลกระทบต่อเซิร์ฟเวอร์ ระบุผ่าน --remote-ตัวเลือก. (โปรดทราบว่าในการโอนในท้องถิ่น
ฝั่งไคลเอ็นต์เป็นผู้ส่ง)
อ็อพชันนี้ไม่มีผลกับ daemon เนื่องจาก daemon กำหนดค่าว่าต้องการหรือไม่
เชื่อมโยง symlink ผ่านพารามิเตอร์ "munge symlink" ดูเพิ่มเติมที่ "munge-symlinks"
สคริปต์ Perl ในไดเร็กทอรีสนับสนุนของซอร์สโค้ด
-เค --คัดลอก-dirlinks
ตัวเลือกนี้ทำให้ฝ่ายส่งปฏิบัติต่อ symlink ไปยังไดเร็กทอรีราวกับว่ามัน
เป็นไดเรกทอรีจริง สิ่งนี้มีประโยชน์หากคุณไม่ต้องการให้มีการเชื่อมโยงไปยัง
ไม่ใช่ไดเรกทอรีที่จะได้รับผลกระทบตามที่พวกเขาจะใช้ --คัดลอกลิงค์.
หากไม่มีตัวเลือกนี้ หากฝ่ายส่งได้แทนที่ไดเร็กทอรีด้วย symlink to
ไดเร็กทอรีฝ่ายรับจะลบสิ่งที่ขวางทาง new
symlink รวมถึงลำดับชั้นไดเร็กทอรี (ตราบใดที่ --บังคับ or --ลบ ที่อยู่ใน
ผล).
ดูสิ่งนี้ด้วย --เก็บ-dirlinks สำหรับตัวเลือกที่คล้ายคลึงกันสำหรับฝ่ายรับ
--คัดลอก-dirlinks ใช้กับ symlink ทั้งหมดไปยังไดเร็กทอรีในซอร์ส ถ้าคุณต้องการ
เพื่อทำตามลิงก์เชื่อมโยงที่ระบุเพียงไม่กี่รายการ เคล็ดลับที่คุณสามารถใช้ได้คือส่งผ่านเป็น
แหล่งข้อมูลเพิ่มเติมที่มีเครื่องหมายทับโดยใช้ --ญาติ เพื่อสร้างเส้นทาง
จับคู่ขวา. ตัวอย่างเช่น:
rsync -r --relative src/./ src/./follow-me/ ปลายทาง/
ใช้งานได้เพราะ rsync โทร ลสแตท(2) ในการหาเรื่องต้นทางตามที่กำหนดและ
สแลชต่อท้ายทำให้ ลสแตท(2) ตาม symlink ทำให้เกิดไดเร็กทอรีใน
file-list ซึ่งแทนที่ symlink ที่พบในระหว่างการสแกน "src/./"
-เค --เก็บ-dirlinks
ตัวเลือกนี้ทำให้ฝ่ายรับปฏิบัติต่อ symlink ไปยังไดเร็กทอรีเสมือนว่า
มันเป็นไดเร็กทอรีจริง แต่ถ้าตรงกับไดเร็กทอรีจริงจากผู้ส่ง
หากไม่มีตัวเลือกนี้ symlink ของผู้รับจะถูกลบและแทนที่ด้วย a
ไดเรกทอรีจริง
ตัวอย่างเช่น สมมติว่าคุณถ่ายโอนไดเร็กทอรี "foo" ที่มีไฟล์ "file"
แต่ "foo" เป็นลิงก์สัญลักษณ์ไปยังไดเร็กทอรี "bar" บนเครื่องรับ ปราศจาก
--เก็บ-dirlinks, ผู้รับลบ symlink "foo", สร้างใหม่เป็นไดเร็กทอรี,
และรับไฟล์ไปยังไดเร็กทอรีใหม่ กับ --เก็บ-dirlinks, ผู้รับ
ทำให้ symlink และ "file" สิ้นสุดใน "bar"
ข้อควรระวังอย่างหนึ่ง: หากคุณใช้ --เก็บ-dirlinks, คุณต้องเชื่อทุก symlink
ในสำเนา! ถ้าเป็นไปได้สำหรับผู้ใช้ที่ไม่น่าเชื่อถือเพื่อสร้าง symlink ของตัวเอง
ไปยังไดเร็กทอรีใด ๆ ผู้ใช้สามารถ (ในสำเนาที่ตามมา) แทนที่symlink
ด้วยไดเร็กทอรีจริงและส่งผลต่อเนื้อหาของไดเร็กทอรีใดก็ตามที่symlink
ข้อมูลอ้างอิง สำหรับสำเนาสำรอง คุณควรใช้สิ่งที่ต้องการผูก
เมานต์แทน symlink เพื่อแก้ไขลำดับชั้นการรับของคุณ
ดูสิ่งนี้ด้วย --คัดลอก-dirlinks สำหรับตัวเลือกที่คล้ายคลึงกันสำหรับฝ่ายส่ง
-ชม, --ฮาร์ดลิงค์
สิ่งนี้บอกให้ rsync ค้นหาไฟล์ที่ฮาร์ดลิงก์ในซอร์สและเชื่อมโยง
ไฟล์ที่เกี่ยวข้องในปลายทาง หากไม่มีตัวเลือกนี้ ฮาร์ดลิงก์ไฟล์ใน
แหล่งที่มาจะถือว่าเป็นไฟล์ที่แยกจากกัน
ตัวเลือกนี้ไม่จำเป็นต้องรับประกันว่ารูปแบบของฮาร์ดลิงก์บน
ปลายทางตรงทุกประการกับแหล่งที่มา กรณีที่ปลายทางอาจ
ลงเอยด้วยฮาร์ดลิงก์พิเศษดังต่อไปนี้:
o หากปลายทางมีฮาร์ดลิงก์ภายนอก (เชื่อมโยงมากกว่าที่เป็นอยู่
อยู่ในรายการไฟล์ต้นฉบับ) อัลกอริทึมการคัดลอกจะไม่ทำลายไฟล์เหล่านั้น
อย่างชัดเจน อย่างไรก็ตาม หากเส้นทางอย่างน้อยหนึ่งเส้นทางมีความแตกต่างของเนื้อหา
กระบวนการอัปเดตไฟล์ปกติจะทำลายลิงก์พิเศษเหล่านั้น (เว้นแต่คุณจะ
โดยใช้โปรแกรม --ในสถานที่ ตัวเลือก)
o หากคุณระบุ a --link-ปลายทาง ไดเร็กทอรีที่มีฮาร์ดลิงก์ การลิงก์
ของไฟล์ปลายทางกับ --link-ปลายทาง ไฟล์อาจทำให้เกิดบางเส้นทาง
ในปลายทางที่จะเชื่อมโยงกันเนื่องจาก --link-ปลายทาง
สมาคม
โปรดทราบว่า rsync สามารถตรวจจับฮาร์ดลิงก์ระหว่างไฟล์ที่อยู่ภายใน . เท่านั้น
ชุดโอน. หาก rsync อัปเดตไฟล์ที่มีการเชื่อมต่อฮาร์ดลิงก์พิเศษไปที่
ไฟล์ที่อยู่นอกการโอน การเชื่อมโยงนั้นจะเสีย หากคุณถูกล่อลวงให้ใช้
--ในสถานที่ ตัวเลือกเพื่อหลีกเลี่ยงการแตกหักนี้ ระวังให้มาก คุณรู้วิธีของคุณ
กำลังอัปเดตไฟล์เพื่อให้คุณมั่นใจได้ว่าจะไม่มีการเปลี่ยนแปลงโดยไม่ได้ตั้งใจ
เนื่องจากฮาร์ดลิงก์เอ้อระเหย (และดู --ในสถานที่ ตัวเลือกสำหรับคำเตือนเพิ่มเติม)
หากการเรียกซ้ำที่เพิ่มขึ้นทำงานอยู่ (ดู - บันทึกซ้ำ) rsync อาจถ่ายโอนข้อมูลที่ขาดหายไป
ฮาร์ดลิงก์ก่อนที่จะพบว่ามีลิงก์อื่นสำหรับเนื้อหานั้นอยู่
ที่อื่นในลำดับชั้น ไม่กระทบต่อความถูกต้องของการโอน
(เช่น ไฟล์ใดที่ฮาร์ดลิงก์เข้าด้วยกัน) เพียงแต่ประสิทธิภาพของมันเท่านั้น (เช่น การคัดลอกไฟล์
ข้อมูลสำหรับสำเนาแรกเริ่มของไฟล์ฮาร์ดลิงก์ที่อาจพบในภายหลัง
ในการถ่ายโอนในสมาชิกอื่นของชุดไฟล์ที่ฮาร์ดลิงก์) วิธีหนึ่งที่จะ
หลีกเลี่ยงความไร้ประสิทธิภาพนี้คือปิดการใช้งานการเรียกซ้ำที่เพิ่มขึ้นโดยใช้
--no-inc-เรียกซ้ำ ตัวเลือก
-NS, --perms
ตัวเลือกนี้ทำให้การรับ rsync ตั้งค่าการอนุญาตปลายทางเป็น
เช่นเดียวกับการอนุญาตแหล่งที่มา (ดูเพิ่มเติมที่ --chmod ตัวเลือกสำหรับวิธีการแก้ไข
สิ่งที่ rsync ถือว่าเป็นการอนุญาตต้นทาง)
เมื่อตัวเลือกนี้คือ ปิด, การอนุญาตถูกตั้งค่าดังนี้:
o ไฟล์ที่มีอยู่ (รวมถึงไฟล์ที่อัพเดต) ยังคงสิทธิ์ที่มีอยู่
แม้ว่า --ความสามารถในการดำเนินการ ตัวเลือกอาจเปลี่ยนเพียงสิทธิ์ในการดำเนินการ
สำหรับไฟล์.
o ไฟล์ใหม่ได้รับบิตการอนุญาต "ปกติ" ที่ตั้งค่าเป็นไฟล์ต้นทาง
สิทธิ์ที่ปิดบังด้วยสิทธิ์เริ่มต้นของไดเรกทอรีรับ
(ไม่ว่าจะเป็น umask ของกระบวนการรับ หรือการอนุญาตที่ระบุผ่าน
ACL เริ่มต้นของไดเรกทอรีปลายทาง) และบิตการอนุญาตพิเศษ
ปิดใช้งาน ยกเว้นในกรณีที่ไดเร็กทอรีใหม่สืบทอดบิต setgid จาก
ไดเรกทอรีหลัก
ดังนั้น เมื่อ --perms และ --ความสามารถในการดำเนินการ ถูกปิดใช้งานทั้งคู่ พฤติกรรมของ rsync คือ
เช่นเดียวกับยูทิลิตี้การคัดลอกไฟล์อื่น ๆ เช่น cp(1) และ น้ำมันดิน(1)
โดยสรุป: เพื่อให้ไฟล์ปลายทาง (ทั้งเก่าและใหม่) อนุญาตแหล่งที่มา
ใช้ --perms. เพื่อให้ไฟล์ใหม่มีสิทธิ์เริ่มต้นปลายทาง (ขณะออกจาก
ไฟล์ที่มีอยู่ไม่เปลี่ยนแปลง) ตรวจสอบให้แน่ใจว่า --perms ตัวเลือกปิดอยู่และใช้งาน
--chmod=ugo=rwX (ซึ่งทำให้มั่นใจได้ว่าบิตที่ไม่ได้มาสก์ทั้งหมดจะเปิดใช้งาน) ถ้าคุณจะ
ดูแลเพื่อให้พฤติกรรมหลังนี้ง่ายต่อการพิมพ์ คุณสามารถกำหนดนามแฝง popt สำหรับ
มันเช่นการใส่บรรทัดนี้ในไฟล์ ~/.popt (ต่อไปนี้กำหนด -Z
ตัวเลือกและรวมถึง --no-g เพื่อใช้กลุ่มเริ่มต้นของ dir ปลายทาง):
rsync นามแฝง -Z --no-p --no-g --chmod=ugo=rwX
คุณสามารถใช้ตัวเลือกใหม่นี้ในคำสั่งเช่นนี้:
rsync -avZ src/ ปลายทาง/
(คำเตือน: ตรวจสอบให้แน่ใจว่า -a ไม่ปฏิบัติตาม -Zหรือจะเปิดใช้งานทั้งสองอีกครั้ง
ตัวเลือก "--no-*" ที่กล่าวถึงข้างต้น)
การเก็บรักษา setgid bit ของปลายทางบนไดเร็กทอรีที่สร้างขึ้นใหม่เมื่อ
--perms ถูกปิดถูกเพิ่มใน rsync 2.6.7 rsync รุ่นเก่ากว่าผิดพลาด
สงวนบิตการอนุญาตพิเศษสามบิตสำหรับไฟล์ที่สร้างขึ้นใหม่เมื่อ --perms
ถูกปิดในขณะที่แทนที่การตั้งค่าบิต setgid ของปลายทางบนที่สร้างขึ้นใหม่
ไดเร็กทอรี เพิ่มการปฏิบัติตาม ACL เริ่มต้นในโปรแกรมแก้ไข ACL สำหรับ rsync 2.6.7 ดังนั้น
rsync ที่เก่ากว่า (หรือที่ไม่ได้เปิดใช้งาน ACL) ใช้ umask แม้ว่าจะมี ACL เริ่มต้นอยู่ก็ตาม
(โปรดจำไว้ว่าเป็นเวอร์ชันของ rsync ที่ได้รับที่ส่งผลต่อสิ่งเหล่านี้
พฤติกรรม)
-อี --ความสามารถในการดำเนินการ
ตัวเลือกนี้ทำให้ rsync รักษาความสามารถในการเรียกทำงาน (หรือไม่สามารถเรียกใช้งานได้) ของ
ไฟล์ปกติเมื่อ --perms ไม่ได้เปิดใช้งาน ไฟล์ปกติถือเป็น
ปฏิบัติการได้หากมีการเปิดใช้ 'x' อย่างน้อยหนึ่งตัวในการอนุญาต เมื่อที่มีอยู่
ความสามารถในการเรียกทำงานของไฟล์ปลายทางแตกต่างจากไฟล์ต้นฉบับที่เกี่ยวข้อง
ไฟล์ rsync แก้ไขการอนุญาตของไฟล์ปลายทางดังนี้:
o ในการทำให้ไฟล์ไม่สามารถดำเนินการได้ rsync จะปิดการอนุญาต 'x' ทั้งหมดของมัน
o ในการทำให้ไฟล์ปฏิบัติการได้ rsync จะเปิดการอนุญาต 'x' แต่ละรายการที่มี a
เปิดใช้งานการอนุญาต 'r' ที่สอดคล้องกัน
If --perms ถูกเปิดใช้งาน ตัวเลือกนี้จะถูกละเว้น
-NS, --acs
ตัวเลือกนี้ทำให้ rsync อัปเดต ACL ปลายทางให้เหมือนกับ
ACL แหล่งที่มา ตัวเลือกยังหมายถึง --perms.
ระบบต้นทางและปลายทางต้องมีรายการ ACL ที่เข้ากันได้สำหรับตัวเลือกนี้
ในการทำงานอย่างถูกต้อง ดู --ปลอม-ซุปเปอร์ ตัวเลือกสำหรับวิธีการสำรองและกู้คืน ACLs
ที่ไม่เข้ากัน
-NS, --xattr
ตัวเลือกนี้ทำให้ rsync อัปเดตแอตทริบิวต์ส่วนขยายปลายทางเป็น
เช่นเดียวกับแหล่งที่มา
สำหรับระบบที่รองรับเนมสเปซแอตทริบิวต์เพิ่มเติม สำเนาถูกทำโดย
ผู้ใช้ขั้นสูงคัดลอกเนมสเปซทั้งหมดยกเว้นระบบ* ผู้ใช้ทั่วไปเพียงคัดลอก
ผู้ใช้ * เนมสเปซ เพื่อให้สามารถสำรองและกู้คืนเนมสเปซที่ไม่ใช่ผู้ใช้ได้ตามปกติ
ผู้ใช้ดู --ปลอม-ซุปเปอร์ ตัวเลือก
โปรดทราบว่าตัวเลือกนี้จะไม่คัดลอกค่า xattr พิเศษของ rsync (เช่น ค่าที่ใช้โดย
--ปลอม-ซุปเปอร์) เว้นแต่คุณจะทำซ้ำตัวเลือก (เช่น -XX) โหมด "คัดลอก xattrs ทั้งหมด" นี้
ใช้กับ .ไม่ได้ --ปลอม-ซุปเปอร์.
--chmod
ตัวเลือกนี้บอกให้ rsync ใช้โหมด "chmod" ที่คั่นด้วยเครื่องหมายจุลภาคอย่างน้อยหนึ่งโหมดกับ
สิทธิ์ของไฟล์ในการโอน ค่าผลลัพธ์จะถูกปฏิบัติเหมือนว่า
มันเป็นสิทธิ์ที่ฝ่ายส่งให้สำหรับไฟล์ซึ่งหมายความว่า
ว่าตัวเลือกนี้ดูเหมือนจะไม่มีผลกับไฟล์ที่มีอยู่ถ้า --perms ไม่ใช่
เปิดการใช้งาน
นอกเหนือจากกฎการแยกวิเคราะห์ปกติที่ระบุไว้ใน chmod(1) manpage คุณสามารถ
ระบุรายการที่ควรใช้เฉพาะกับไดเร็กทอรีโดยนำหน้าด้วย 'D'
หรือระบุรายการที่ควรใช้เฉพาะกับไฟล์โดยนำหน้าด้วย 'F'
ตัวอย่างเช่น สิ่งต่อไปนี้จะช่วยให้แน่ใจว่าไดเร็กทอรีทั้งหมดถูกทำเครื่องหมาย set-gid
ว่าไม่มีไฟล์ใดที่สามารถเขียนอย่างอื่นได้ ทั้งที่ผู้ใช้เขียนได้และเขียนได้เป็นกลุ่ม
และทั้งสองมีความสามารถในการเรียกทำงานที่สอดคล้องกันในทุกบิต:
--chmod=Dg+s,ug+w,F-w,+X
อนุญาตให้ใช้หมายเลขโหมดฐานแปดได้เช่นกัน:
--chmod=D2775,F664
นอกจากนี้ยังถูกกฎหมายที่จะระบุหลายรายการ --chmod ตัวเลือก เนื่องจากแต่ละตัวเลือกเพิ่มเติมคือ
ต่อท้ายรายการการเปลี่ยนแปลงที่จะทำ
ดู --perms และ --ความสามารถในการดำเนินการ ตัวเลือกสำหรับค่าการอนุญาตที่ได้รับ
สามารถนำไปใช้กับไฟล์ในการโอน
-o, --เจ้าของ
ตัวเลือกนี้ทำให้ rsync ตั้งค่าเจ้าของไฟล์ปลายทางให้เหมือนกับ
ไฟล์ต้นฉบับ แต่ถ้ามีการเรียกใช้ rsync ที่ได้รับเป็น super-user
(ดูที่ --สุดยอด และ --ปลอม-ซุปเปอร์ ตัวเลือก). หากไม่มีตัวเลือกนี้ เจ้าของ
ไฟล์ใหม่และ/หรือที่ถ่ายโอนถูกตั้งค่าเป็นผู้ใช้ที่เรียกใช้ที่ฝั่งรับ
การรักษาความเป็นเจ้าของจะเชื่อมโยงชื่อที่ตรงกันโดยค่าเริ่มต้น แต่อาจ
ถอยกลับไปใช้หมายเลขประจำตัวประชาชนในบางกรณี (ดูเพิ่มเติมที่ --รหัสตัวเลข
ตัวเลือกสำหรับการสนทนาเต็มรูปแบบ)
-NS, --กลุ่ม
ตัวเลือกนี้ทำให้ rsync ตั้งค่ากลุ่มของไฟล์ปลายทางให้เหมือนกับ
ไฟล์ต้นฉบับ หากโปรแกรมรับไม่ได้ทำงานเป็น super-user (หรือ if
--no-ซุปเปอร์ ถูกระบุ) เฉพาะกลุ่มที่ผู้ใช้เรียกอยู่ฝ่ายรับ
เป็นสมาชิกของพินัยกรรม หากไม่มีตัวเลือกนี้ กลุ่มจะถูกตั้งค่าเป็น
กลุ่มเริ่มต้นของผู้ใช้ที่เรียกในด้านรับ
การเก็บรักษาข้อมูลกลุ่มจะเชื่อมโยงชื่อที่ตรงกันโดยค่าเริ่มต้น แต่
อาจถอยกลับไปใช้หมายเลขประจำตัวประชาชนในบางกรณี (ดูเพิ่มเติมที่
--รหัสตัวเลข ตัวเลือกสำหรับการสนทนาเต็มรูปแบบ)
--อุปกรณ์
ตัวเลือกนี้ทำให้ rsync ถ่ายโอนอักขระและบล็อกไฟล์อุปกรณ์ไปยังรีโมท
ระบบเพื่อสร้างอุปกรณ์เหล่านี้ขึ้นมาใหม่ ตัวเลือกนี้ไม่มีผลหากรับrsync
ไม่ทำงานในฐานะผู้ใช้ขั้นสูง (ดูเพิ่มเติมที่ --สุดยอด และ --ปลอม-ซุปเปอร์ ตัวเลือก).
--พิเศษ
อ็อพชันนี้ทำให้ rsync ถ่ายโอนไฟล์พิเศษ เช่น ซ็อกเก็ตที่มีชื่อและ fifos
-D งานวิ่งการกุศล -D ตัวเลือกเทียบเท่ากับ --อุปกรณ์ --พิเศษ.
-NS, --ครั้ง
สิ่งนี้บอกให้ rsync ถ่ายโอนเวลาแก้ไขพร้อมกับไฟล์และอัปเดต
บนระบบระยะไกล โปรดทราบว่าหากไม่ได้ใช้ตัวเลือกนี้ การเพิ่มประสิทธิภาพ
ที่ไม่รวมไฟล์ที่ไม่ได้รับการดัดแปลงจะไม่มีผล; ในอื่นๆ
คำที่หายไป -t or -a จะทำให้การโอนครั้งต่อไปมีลักษณะเหมือนใช้ -I,
ทำให้ไฟล์ทั้งหมดได้รับการอัปเดต (แม้ว่าอัลกอริธึม delta-transfer ของ rsync จะทำให้
การอัปเดตค่อนข้างมีประสิทธิภาพหากไฟล์ไม่ได้เปลี่ยนแปลงจริง ๆ คุณมาก
ใช้ดีกว่า -t).
-โอ --omit-dir-ครั้ง
สิ่งนี้บอกให้ rsync ละเว้นไดเร็กทอรีเมื่อรักษาเวลาในการแก้ไข (ดู
--ครั้ง). หาก NFS กำลังแชร์ไดเร็กทอรีทางฝั่งผู้รับ จะเป็นการดี
ความคิดที่จะใช้ -O. ตัวเลือกนี้จะอนุมานได้หากคุณใช้ --สำรองข้อมูล ไม่มี --สำรอง-ผบ.
ตัวเลือกนี้ยังมีผลข้างเคียงจากการหลีกเลี่ยงการสร้างไดเร็กทอรีในช่วงแรกๆ ใน
สำเนาการเรียกซ้ำที่เพิ่มขึ้น ค่าเริ่มต้น --inc-เรียกซ้ำ ปกติแล้วการคัดลอกจะทำ an
ก่อนสร้างผ่านของไดเรกทอรีย่อยทั้งหมดในไดเรกทอรีหลักเพื่อให้มัน
เพื่อให้สามารถตั้งเวลาแก้ไขของไดเร็กทอรีหลักได้ทันที (โดยไม่ต้อง
ต้องชะลอจนกว่าการคัดลอกแบบเรียกซ้ำจะเสร็จสิ้น) นี้
early-create idiom ไม่จำเป็นถ้าไดเร็กทอรีแก้ไขเวลาไม่ได้
สงวนไว้จึงข้ามไป เนื่องจากไดเร็กทอรีสร้างก่อนสร้างไม่ถูกต้อง
โหมด mtime หรือความเป็นเจ้าของ การใช้ตัวเลือกนี้สามารถช่วยเมื่อมีคนต้องการ
หลีกเลี่ยงไดเร็กทอรีที่เสร็จสิ้นบางส่วนเหล่านี้
-NS, --omit-ลิงค์ครั้ง
สิ่งนี้บอกให้ rsync ละเว้น symlink เมื่อรักษาเวลาในการแก้ไข (ดู
--ครั้ง).
--สุดยอด
สิ่งนี้บอกให้ฝ่ายรับพยายามทำกิจกรรมผู้ใช้ระดับสูงแม้ว่า
การรับ rsync ไม่ได้ดำเนินการโดยผู้ใช้ขั้นสูง กิจกรรมเหล่านี้ได้แก่ อนุรักษ์
ผู้ใช้ผ่านทาง --เจ้าของ ตัวเลือก รักษาทุกกลุ่ม (ไม่ใช่แค่ผู้ใช้ปัจจุบัน
กลุ่ม) ผ่านทาง --กลุ่ม และอุปกรณ์คัดลอกผ่าน --อุปกรณ์ ตัวเลือก
สิ่งนี้มีประโยชน์สำหรับระบบที่อนุญาตกิจกรรมดังกล่าวโดยไม่ต้องเป็นผู้ใช้ขั้นสูง
และเพื่อให้มั่นใจว่าคุณจะได้รับข้อผิดพลาดหากฝ่ายรับไม่อยู่
ทำงานเป็นผู้ใช้ขั้นสูง ในการปิดกิจกรรมผู้ใช้ระดับสูง ผู้ใช้ระดับสูงสามารถใช้
--no-ซุปเปอร์.
--ปลอม-ซุปเปอร์
เมื่อเปิดใช้งานตัวเลือกนี้ rsync จะจำลองกิจกรรมผู้ใช้ขั้นสูงโดย
การบันทึก/กู้คืนแอตทริบิวต์ที่มีสิทธิพิเศษผ่านแอตทริบิวต์เพิ่มเติมพิเศษที่
แนบไปกับแต่ละไฟล์ (ตามความจำเป็น) ซึ่งรวมถึงเจ้าของไฟล์และกลุ่ม (ถ้าเป็น
ไม่ใช่ค่าเริ่มต้น) ข้อมูลอุปกรณ์ของไฟล์ (อุปกรณ์ & ไฟล์พิเศษถูกสร้างขึ้นเป็น
ไฟล์ข้อความเปล่า) และบิตการอนุญาตใด ๆ ที่เราจะไม่อนุญาตให้ตั้งค่าบน
ไฟล์จริง (เช่น ไฟล์จริงทำให้เรา, gs, ot เพื่อความปลอดภัย) หรือนั่นจะจำกัด
การเข้าถึงของเจ้าของ (เนื่องจากผู้ใช้ super-user ที่แท้จริงสามารถเข้าถึง/เปลี่ยนแปลงไฟล์ได้ตลอดเวลา the
ไฟล์ที่เราสร้างสามารถเข้าถึงได้/เปลี่ยนแปลงโดยผู้ใช้ที่สร้าง) ตัวเลือกนี้
ยังจัดการ ACL (ถ้า --acs ถูกระบุ) และแอ็ตทริบิวต์ส่วนขยายที่ไม่ใช่ผู้ใช้ (if
--xattr ระบุไว้)
นี่เป็นวิธีที่ดีในการสำรองข้อมูลโดยไม่ต้องใช้ super-user และเพื่อจัดเก็บ ACLs
จากระบบที่เข้ากันไม่ได้
งานวิ่งการกุศล --ปลอม-ซุปเปอร์ ตัวเลือกมีผลเฉพาะด้านที่ใช้ตัวเลือก ที่จะส่งผลกระทบต่อ
ด้านระยะไกลของการเชื่อมต่อเปลือกระยะไกล ใช้ --remote-ตัวเลือก (-M) ตัวเลือก:
rsync -av -M--fake-super /src/ โฮสต์:/dest/
สำหรับสำเนาในเครื่อง ตัวเลือกนี้จะมีผลกับทั้งต้นทางและปลายทาง ถ้าคุณ
ต้องการสำเนาในเครื่องเพื่อเปิดใช้งานตัวเลือกนี้สำหรับไฟล์ปลายทางเท่านั้น โปรดระบุ
-M--ปลอม-super. หากคุณต้องการให้สำเนาในเครื่องเปิดใช้งานตัวเลือกนี้สำหรับแหล่งที่มาเท่านั้น
ไฟล์รวม --ปลอม-ซุปเปอร์ กับ -M--สุดยอด.
ตัวเลือกนี้ถูกแทนที่โดยทั้งคู่ --สุดยอด และ --no-ซุปเปอร์.
โปรดดูการตั้งค่า "ซุปเปอร์ปลอม" ในไฟล์ rsyncd.conf ของ daemon
-NS, --กระจัดกระจาย
พยายามจัดการไฟล์ที่กระจัดกระจายอย่างมีประสิทธิภาพ เพื่อใช้พื้นที่น้อยลงบนไฟล์
ปลายทาง. ขัดแย้งกับ --ในสถานที่ เพราะไม่สามารถเขียนทับข้อมูลได้
ในรูปแบบเบาบาง
--จัดสรรล่วงหน้า
สิ่งนี้บอกให้ผู้รับจัดสรรไฟล์ปลายทางแต่ละไฟล์ให้มีขนาดในที่สุด
ก่อนเขียนข้อมูลลงไฟล์ Rsync จะใช้เฉพาะระบบไฟล์จริงระดับ
รองรับการจัดสรรล่วงหน้าโดย Linux's ตกหลุม(2) การโทรของระบบหรือ Cygwin's
posix_fallocate(3) ไม่ใช่การใช้งาน glibc ที่ช้าซึ่งเขียนศูนย์ไบต์ลงใน
แต่ละบล็อก
หากไม่มีตัวเลือกนี้ ไฟล์ขนาดใหญ่อาจไม่ต่อเนื่องกันทั้งหมดบนระบบไฟล์
แต่ด้วยตัวเลือกนี้ rsync อาจจะคัดลอกช้ากว่า ถ้าปลายทางคือ
ไม่ใช่ระบบไฟล์ที่รองรับขอบเขต (เช่น ext4, xfs, NTFS เป็นต้น) ตัวเลือกนี้
อาจไม่มีผลในเชิงบวกเลย
-NS, --ดรายรัน
สิ่งนี้ทำให้ rsync ทำการทดลองใช้ที่ไม่มีการเปลี่ยนแปลงใดๆ (และสร้าง
ส่วนใหญ่เป็นเอาต์พุตเดียวกันกับการวิ่งจริง) นิยมใช้ร่วมกันมากที่สุด
กับ -ใน, --รายละเอียด และ / หรือ -ผม, --itemize-การเปลี่ยนแปลง ตัวเลือกเพื่อดูว่า rsync . คืออะไร
คำสั่งจะทำก่อนที่จะรันมันจริง
ผลลัพธ์ของ --itemize-การเปลี่ยนแปลง ควรจะเหมือนกันทุกประการในการวิ่งแบบแห้งและ
การดำเนินการจริงที่ตามมา (ยกเว้นการหลอกลวงโดยเจตนาและการเรียกระบบล้มเหลว); ถ้า
มันไม่ใช่ นั่นเป็นข้อผิดพลาด ผลลัพธ์อื่น ๆ ส่วนใหญ่ควรจะไม่เปลี่ยนแปลง แต่อาจแตกต่างกันใน
บางพื้นที่. โดยเฉพาะอย่างยิ่ง การใช้งานแบบแห้งไม่ได้ส่งข้อมูลจริงสำหรับการถ่ายโอนไฟล์
so --ความคืบหน้า ไม่มีผลกระทบ "ไบต์ที่ส่ง", "ไบต์ที่ได้รับ", "ข้อมูลตามตัวอักษร",
และสถิติ "ข้อมูลที่ตรงกัน" นั้นน้อยเกินไป และค่า "เร่งความเร็ว" มีค่าเท่ากัน
ไปสู่การทำงานที่ไม่จำเป็นต้องถ่ายโอนไฟล์
-ว, --ทั้งไฟล์
ด้วยตัวเลือกนี้ อัลกอริธึม delta-transfer ของ rsync จะไม่ถูกใช้และไฟล์ทั้งหมดคือ
ส่งตามที่เป็นอยู่แทน การโอนอาจเร็วขึ้นหากใช้ตัวเลือกนี้เมื่อ
แบนด์วิดธ์ระหว่างเครื่องต้นทางและปลายทางสูงกว่าแบนด์วิดธ์
ไปยังดิสก์ (โดยเฉพาะอย่างยิ่งเมื่อ "ดิสก์" เป็นระบบไฟล์บนเครือข่าย) นี่คือ
ค่าเริ่มต้นเมื่อระบุทั้งต้นทางและปลายทางเป็นเส้นทางท้องถิ่น แต่
เฉพาะในกรณีที่ไม่มีตัวเลือกการเขียนแบทช์
-NS, --หนึ่งไฟล์ระบบ
สิ่งนี้บอกให้ rsync หลีกเลี่ยงการข้ามขอบเขตของระบบไฟล์เมื่อทำการเรียกซ้ำ นี้ไม่
ไม่จำกัดความสามารถของผู้ใช้ในการระบุรายการที่จะคัดลอกจากหลายระบบไฟล์
เพียงแค่การเรียกซ้ำของ rsync ผ่านลำดับชั้นของแต่ละไดเร็กทอรีที่ผู้ใช้
ระบุ และการเรียกซ้ำที่คล้ายคลึงกันในด้านการรับในระหว่างการลบ
โปรดจำไว้ว่า rsync ถือว่าการเมานต์ "ผูก" กับอุปกรณ์เดียวกันกับที่เปิดอยู่
ระบบไฟล์เดียวกัน
หากใช้ตัวเลือกนี้ซ้ำ rsync จะละเว้นไดเรกทอรีจุดเชื่อมต่อทั้งหมดออกจากสำเนา
มิฉะนั้น จะรวมไดเร็กทอรีว่างที่จุดเชื่อมต่อแต่ละจุดที่พบ (โดยใช้
แอตทริบิวต์ของไดเร็กทอรีที่เมานต์เนื่องจากแอตทริบิวต์ของ mount-point
ไม่สามารถเข้าถึงไดเร็กทอรี)
หาก rsync ได้รับคำสั่งให้ยุบลิงก์เชื่อมโยง (ผ่าน --คัดลอกลิงค์ or
--คัดลอกลิงก์ที่ไม่ปลอดภัย) symlink ไปยังไดเร็กทอรีบนอุปกรณ์อื่นจะถือว่า a
จุดเมานต์ Symlinks ไปยังที่ไม่ใช่ไดเร็กทอรีจะไม่ได้รับผลกระทบจากตัวเลือกนี้
--ที่มีอยู่, --ละเว้น-ไม่มีอยู่
สิ่งนี้บอกให้ rsync ข้ามการสร้างไฟล์ (รวมถึงไดเร็กทอรี) ที่ไม่มีอยู่
ยังอยู่ที่ปลายทาง หากตัวเลือกนี้รวมกับ --ละเว้นที่มีอยู่
ตัวเลือกจะไม่มีการอัพเดตไฟล์ใด ๆ (ซึ่งจะมีประโยชน์หากคุณต้องการทำเพียงแค่
ลบไฟล์ภายนอก)
ตัวเลือกนี้เป็นกฎการโอน ไม่ใช่การยกเว้น ดังนั้นจึงไม่ส่งผลต่อข้อมูลที่
เข้าไปในรายการไฟล์ ดังนั้นจึงไม่มีผลกับการลบ มันแค่จำกัด
ไฟล์ที่ผู้รับร้องขอให้โอน
--ละเว้นที่มีอยู่
สิ่งนี้บอกให้ rsync ข้ามการอัปเดตไฟล์ที่มีอยู่แล้วในปลายทาง (นี้
ทำ ไม่ ละเว้นไดเร็กทอรีที่มีอยู่ มิฉะนั้นจะไม่มีอะไรทำ) ดูสิ่งนี้ด้วย
--ที่มีอยู่.
ตัวเลือกนี้เป็นกฎการโอน ไม่ใช่การยกเว้น ดังนั้นจึงไม่ส่งผลต่อข้อมูลที่
เข้าไปในรายการไฟล์ ดังนั้นจึงไม่มีผลกับการลบ มันแค่จำกัด
ไฟล์ที่ผู้รับร้องขอให้โอน
ตัวเลือกนี้จะมีประโยชน์สำหรับผู้ที่ทำการสำรองข้อมูลโดยใช้ --link-ปลายทาง ตัวเลือกเมื่อ
พวกเขาจำเป็นต้องดำเนินการสำรองข้อมูลที่ถูกขัดจังหวะต่อไป ตั้งแต่ --link-ปลายทาง วิ่ง
ถูกคัดลอกไปยังลำดับชั้นของไดเร็กทอรีใหม่ (เมื่อใช้อย่างถูกต้อง) โดยใช้ --ไม่สนใจ
ที่มีอยู่ จะทำให้แน่ใจว่าไฟล์ที่จัดการแล้วไม่ได้รับการปรับแต่ง (ซึ่งหลีกเลี่ยง
การเปลี่ยนแปลงสิทธิ์ในไฟล์ที่ฮาร์ดลิงก์) นี่หมายความว่าตัวเลือกนี้
กำลังดูไฟล์ที่มีอยู่ในลำดับชั้นปลายทางเท่านั้น
--remove-ไฟล์ต้นฉบับ
สิ่งนี้บอกให้ rsync ลบไฟล์ออกจากด้านส่ง (ความหมาย
ไม่ใช่ไดเร็กทอรี) ที่เป็นส่วนหนึ่งของการโอนและดำเนินการเรียบร้อยแล้ว
ซ้ำกับฝ่ายรับ
โปรดทราบว่าคุณควรใช้ตัวเลือกนี้กับไฟล์ต้นฉบับที่เงียบเท่านั้น ถ้า
คุณกำลังใช้สิ่งนี้เพื่อย้ายไฟล์ที่แสดงในไดเร็กทอรีเฉพาะไปยัง
โฮสต์อื่นตรวจสอบให้แน่ใจว่าไฟล์ที่เสร็จแล้วได้รับการเปลี่ยนชื่อเป็นแหล่งที่มา
ไดเร็กทอรีที่ไม่ได้เขียนโดยตรง ดังนั้น rsync จึงไม่สามารถโอน a . ได้
ไฟล์ที่ยังเขียนไม่ครบ หากคุณไม่สามารถเขียนไฟล์ลงใน a . ได้ก่อน
ไดเร็กทอรีอื่น คุณควรใช้สำนวนการตั้งชื่อที่ช่วยให้ rsync หลีกเลี่ยง
การโอนไฟล์ที่ยังไม่เสร็จสิ้น (เช่น ตั้งชื่อไฟล์ว่า "foo.new" เมื่อมัน
ถูกเขียน เปลี่ยนชื่อเป็น "foo" เมื่อเสร็จแล้วใช้ตัวเลือก
--exclude='*.new' สำหรับการโอน rsync)
เริ่มต้นด้วย 3.1.0 rsync จะข้ามการลบฝั่งผู้ส่ง (และแสดงข้อผิดพลาด)
หากขนาดของไฟล์หรือเวลาในการแก้ไขไม่เปลี่ยนแปลง
--ลบ
สิ่งนี้บอกให้ rsync ลบไฟล์ที่ไม่เกี่ยวข้องออกจากฝั่งรับ (ไฟล์นั้น
ไม่ได้อยู่ด้านส่ง) แต่สำหรับไดเร็กทอรีที่เป็น .เท่านั้น
ซิงโครไนซ์ คุณต้องขอให้ rsync ส่งทั้งไดเร็กทอรี (เช่น "dir" หรือ
"dir/") โดยไม่ต้องใช้ wildcard สำหรับเนื้อหาของไดเร็กทอรี (เช่น "dir/*") ตั้งแต่
ไวด์การ์ดถูกขยายโดยเชลล์และ rsync จึงได้รับคำขอให้โอน
แต่ละไฟล์ ไม่ใช่ไดเรกทอรีหลักของไฟล์ ไฟล์ที่ไม่รวมอยู่ใน
การโอนยังไม่ถูกลบออกเว้นแต่คุณจะใช้
--ลบ-ไม่รวม ออปชั่นหรือทำเครื่องหมายกฎว่าตรงกับฝ่ายส่งเท่านั้น
(ดูตัวแก้ไขรวม/ยกเว้นในส่วนกฎของตัวกรอง)
ก่อน rsync 2.6.7 ตัวเลือกนี้จะไม่มีผลเว้นแต่ - บันทึกซ้ำ คือ
เปิดใช้งาน เริ่มต้นด้วย 2.6.7 การลบจะเกิดขึ้นเมื่อ --ผอ (-d) คือ
เปิดใช้งาน แต่สำหรับไดเร็กทอรีที่มีการคัดลอกเนื้อหาเท่านั้น
ตัวเลือกนี้อาจเป็นอันตรายได้หากใช้ไม่ถูกต้อง! เป็นความคิดที่ดีอันดับแรก
ลองวิ่งโดยใช้ --ดรายรัน ตัวเลือก (-n) เพื่อดูว่าไฟล์ใดบ้างที่จะเป็น
ที่ถูกลบ
หากฝ่ายส่งตรวจพบข้อผิดพลาด I/O การลบไฟล์ใดๆ ที่
ปลายทางจะถูกปิดใช้งานโดยอัตโนมัติ ทั้งนี้เพื่อป้องกันระบบไฟล์ชั่วคราว
ความล้มเหลว (เช่นข้อผิดพลาด NFS) ในด้านการส่งจากการทำให้เกิดการลบจำนวนมาก
ของไฟล์ปลายทาง คุณสามารถแทนที่สิ่งนี้ด้วย --ละเว้น-ข้อผิดพลาด
ตัวเลือก
งานวิ่งการกุศล --ลบ อาจรวมกับตัวเลือก --delete-WHEN ตัวใดตัวหนึ่งที่ไม่มี
ความขัดแย้งเช่นกัน --ลบ-ไม่รวม. อย่างไรก็ตาม ถ้าไม่มี --delete-WHEN
มีการระบุตัวเลือก rsync จะเลือก --ลบ-ระหว่าง อัลกอริทึมเมื่อพูด
เพื่อ rsync 3.0.0 หรือใหม่กว่าและ --ลบก่อน อัลกอริทึมเมื่อพูดคุยกับผู้สูงอายุ
rsync ดูสิ่งนี้ด้วย --ลบ-ล่าช้า และ --ลบหลัง.
--ลบก่อน
ขอให้การลบไฟล์ทางฝั่งรับเสร็จสิ้นก่อนการโอน
เริ่ม ดู --ลบ (ซึ่งโดยนัย) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลบไฟล์
การลบก่อนการถ่ายโอนจะมีประโยชน์หากระบบไฟล์มีที่ว่างและ
การลบไฟล์ที่ไม่เกี่ยวข้องจะช่วยให้การถ่ายโอนเป็นไปได้ อย่างไรก็ตาม มัน
ทำให้เกิดความล่าช้าก่อนเริ่มการโอน และความล่าช้านี้อาจทำให้
การถ่ายโอนไปยังระยะหมดเวลา (ถ้า --หมดเวลา ระบุไว้) นอกจากนี้ยังบังคับให้ rsync ใช้
อัลกอริธึมการเรียกซ้ำแบบเก่าที่ไม่เพิ่มขึ้นที่ต้องการ rsync เพื่อสแกน .ทั้งหมด
ไฟล์ในการถ่ายโอนไปยังหน่วยความจำในครั้งเดียว (ดู - บันทึกซ้ำ).
--ลบ-ระหว่าง --เดล
ขอให้การลบไฟล์ที่ฝั่งรับทำแบบค่อยเป็นค่อยไปเป็น
การโอนเกิดขึ้น การสแกนการลบต่อไดเร็กทอรีจะทำก่อนแต่ละไดเร็กทอรี
ไดเร็กทอรีถูกตรวจสอบการอัพเดตดังนั้นจึงทำงานเหมือนไดเร็กทอรีที่มีประสิทธิภาพมากขึ้น
--ลบก่อนรวมถึงการลบก่อนตัวกรองต่อไดเรกทอรี
กำลังอัปเดตไฟล์ ตัวเลือกนี้ถูกเพิ่มครั้งแรกใน rsync เวอร์ชัน 2.6.4 ดู
--ลบ (ซึ่งโดยนัย) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลบไฟล์
--ลบ-ล่าช้า
ขอให้มีการคำนวณการลบไฟล์ในด้านที่ได้รับในระหว่าง
โอน (เช่น --ลบ-ระหว่าง) แล้วลบออกหลังจากการโอนเสร็จสิ้น
สิ่งนี้มีประโยชน์เมื่อรวมกับ --delay-update และ / หรือ --คลุมเครือและมากกว่านั้น
มีประสิทธิภาพมากกว่าการใช้ --ลบหลัง (แต่สามารถประพฤติต่างกันได้เนื่องจาก
--ลบหลัง คำนวณการลบในการส่งผ่านที่แยกต่างหากหลังจากการอัพเดตทั้งหมด
เสร็จแล้ว). หากจำนวนไฟล์ที่ถูกลบเกินบัฟเฟอร์ภายใน ไฟล์ชั่วคราว
ไฟล์จะถูกสร้างขึ้นที่ด้านรับเพื่อเก็บชื่อ (จะถูกลบออกในขณะที่
เปิดดังนั้นคุณไม่ควรเห็นมันระหว่างการโอน) ถ้าการสร้าง
ไฟล์ชั่วคราวล้มเหลว rsync จะพยายามถอยกลับไปใช้ --ลบหลัง (ซึ่งมัน
ทำไม่ได้ถ้า - บันทึกซ้ำ กำลังทำการสแกนส่วนเพิ่ม) ดู --ลบ (ซึ่งเป็น
โดยนัย) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลบไฟล์
--ลบหลัง
ขอให้การลบไฟล์ทางฝั่งรับเสร็จสิ้นหลังจากการโอน
เสร็จเรียบร้อยแล้ว สิ่งนี้มีประโยชน์หากคุณกำลังส่งไฟล์การผสานต่อไดเร็กทอรีใหม่เป็น
ส่วนหนึ่งของการโอนและคุณต้องการให้การยกเว้นของพวกเขามีผลสำหรับการลบ
เฟสของการถ่ายโอนปัจจุบัน นอกจากนี้ยังบังคับให้ rsync ใช้ตัวเก่า
อัลกอริธึมการเรียกซ้ำแบบไม่เพิ่มขึ้นที่ต้องการ rsync เพื่อสแกนไฟล์ทั้งหมดใน
ถ่ายโอนไปยังหน่วยความจำในครั้งเดียว (ดู - บันทึกซ้ำ) ดู --ลบ (ซึ่งเป็น
โดยนัย) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการลบไฟล์
--ลบ-ไม่รวม
นอกจากการลบไฟล์ด้านรับที่ไม่ได้อยู่ในการส่ง
ด้านนี้บอก rsync ให้ลบไฟล์ใด ๆ ในฝั่งรับที่เป็น
ยกเว้น (ดู --ไม่รวม). ดูส่วนกฎของตัวกรองสำหรับวิธีการทำ
ข้อยกเว้นส่วนบุคคลประพฤติเช่นนี้กับผู้รับและเพื่อเป็นแนวทางในการป้องกัน
ไฟล์จาก --ลบ-ไม่รวม. ดู --ลบ (ซึ่งโดยนัย) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ
ไฟล์-การลบ
--ละเว้น-ขาดหายไป-args
เมื่อ rsync กำลังประมวลผลไฟล์ต้นฉบับที่ร้องขออย่างชัดเจน (เช่น
อาร์กิวเมนต์บรรทัดคำสั่งหรือ --files-จาก รายการ) โดยปกติจะเป็นข้อผิดพลาดหาก
ไม่พบไฟล์ ตัวเลือกนี้ระงับข้อผิดพลาดนั้น และไม่พยายาม
โอนไฟล์. สิ่งนี้ไม่ส่งผลกระทบต่อข้อผิดพลาดของไฟล์ที่หายไปในภายหลังหากไฟล์
ตอนแรกพบว่ามีอยู่และต่อมาไม่มีอีกต่อไป
--ลบ-ขาดหายไป-args
ตัวเลือกนี้ใช้พฤติกรรมของ (โดยนัย) --ละเว้น-ขาดหายไป-args ตัวเลือกขั้นตอน
ไกลออกไป: แต่ละ arg ที่หายไปจะกลายเป็นคำขอลบของที่สอดคล้องกัน
ไฟล์ปลายทางด้านรับ (ควรมีอยู่) หากไฟล์ปลายทาง
เป็นไดเร็กทอรีที่ไม่ว่างเปล่า จะถูกลบได้สำเร็จก็ต่อเมื่อ --force หรือ
--delete มีผลใช้บังคับ นอกจากนั้น ตัวเลือกนี้ไม่ขึ้นกับอย่างอื่น
ประเภทของการประมวลผลการลบ
ไฟล์ต้นฉบับที่หายไปจะแสดงด้วยรายการไฟล์พิเศษที่แสดง
เป็นรายการ "*missing" ใน --รายการเท่านั้น เอาท์พุต
--ละเว้น-ข้อผิดพลาด
บอก --ลบ เพื่อดำเนินการต่อและลบไฟล์แม้ว่าจะมีข้อผิดพลาด I/O
--บังคับ
ตัวเลือกนี้บอกให้ rsync ลบไดเร็กทอรีที่ไม่ว่างเมื่อจะถูกแทนที่
โดยไม่ใช่ไดเรกทอรี สิ่งนี้มีความเกี่ยวข้องเฉพาะในกรณีที่การลบไม่ทำงาน (ดู
--ลบ สำหรับรายละเอียด)
หมายเหตุสำหรับ rsync เวอร์ชันเก่า: --บังคับ เคยยังคงเป็นสิ่งจำเป็นเมื่อใช้
--ลบหลังและเคยใช้งานไม่ได้เว้นแต่ - บันทึกซ้ำ ตัวเลือกคือ
ยังเปิดใช้งาน
--สูงสุด-ลบ=NUM
สิ่งนี้บอก rsync ว่าจะไม่ลบไฟล์หรือไดเรกทอรีมากกว่า NUM ไฟล์ ถ้าขีดจำกัดนั้น
เกิน การลบเพิ่มเติมทั้งหมดจะถูกข้ามไปเมื่อสิ้นสุดการโอน ที่
ในตอนท้าย rsync จะส่งคำเตือน (รวมถึงการนับการลบที่ข้าม) และ
ออกด้วยรหัสข้อผิดพลาด 25 (เว้นแต่จะมีเงื่อนไขข้อผิดพลาดที่สำคัญกว่าด้วย
ที่เกิดขึ้น).
เริ่มต้นด้วยเวอร์ชัน 3.0.0 คุณอาจระบุ --สูงสุด-ลบ=0 ที่จะเตือนเกี่ยวกับใด ๆ
ไฟล์ที่ไม่เกี่ยวข้องในปลายทางโดยไม่ต้องลบไฟล์ใด ๆ ลูกค้าเก่า
ตีความสิ่งนี้ว่า "ไม่จำกัด" ดังนั้นหากคุณไม่รู้ว่าไคลเอ็นต์เป็นเวอร์ชันใด
คุณสามารถใช้ความชัดเจนน้อยลง --สูงสุด-ลบ=-1 เป็นวิธีที่เข้ากันได้แบบย้อนหลังเพื่อ
ระบุว่าไม่อนุญาตให้ลบ (แม้ว่าเวอร์ชันเก่าจริง ๆ จะไม่เตือนเมื่อ
เกินขีดจำกัด)
--ขนาดสูงสุด=SIZE
สิ่งนี้บอก rsync เพื่อหลีกเลี่ยงการถ่ายโอนไฟล์ใด ๆ ที่ใหญ่กว่าที่ระบุ
ขนาด. ค่า SIZE สามารถต่อท้ายด้วยสตริงเพื่อระบุตัวคูณขนาด
และอาจเป็นค่าเศษส่วน (เช่น "--max-size=1.5ม")
ตัวเลือกนี้เป็นกฎการโอน ไม่ใช่การยกเว้น ดังนั้นจึงไม่ส่งผลต่อข้อมูลที่
เข้าไปในรายการไฟล์ ดังนั้นจึงไม่มีผลกับการลบ มันแค่จำกัด
ไฟล์ที่ผู้รับร้องขอให้โอน
คำต่อท้ายมีดังนี้: "K" (หรือ "KiB") คือ kibibyte (1024), "M" (หรือ "MiB") คือ
เมบิไบต์ (1024*1024) และ "G" (หรือ "GiB") คือกิบิไบต์ (1024*1024*1024) ถ้าคุณ
ต้องการให้ตัวคูณเป็น 1000 แทนที่จะเป็น 1024 ให้ใช้ "KB", "MB" หรือ "GB" (บันทึก:
ตัวพิมพ์เล็กก็เป็นที่ยอมรับสำหรับค่าทั้งหมด) สุดท้ายหากคำต่อท้ายลงท้ายด้วย
"+1" หรือ "-1" ค่าจะถูกชดเชยหนึ่งไบต์ในทิศทางที่ระบุ
ตัวอย่าง: --max-size=1.5mb-1 คือ 1499999 ไบต์ และ --max-size=2g+1 คือ 2147483649
ไบต์
โปรดทราบว่า rsync เวอร์ชันก่อน 3.1.0 ไม่อนุญาต --ขนาดสูงสุด=0.
--min-ขนาด=SIZE
สิ่งนี้บอก rsync เพื่อหลีกเลี่ยงการถ่ายโอนไฟล์ใด ๆ ที่เล็กกว่าที่ระบุ
SIZE ซึ่งสามารถช่วยในการถ่ายโอนไฟล์ขยะขนาดเล็ก ดู --max-ขนาด
ตัวเลือกสำหรับคำอธิบาย SIZE และข้อมูลอื่นๆ
โปรดทราบว่า rsync เวอร์ชันก่อน 3.1.0 ไม่อนุญาต --min-ขนาด=0.
-NS, --ขนาดบล็อก=ขนาดบล็อก
สิ่งนี้บังคับขนาดบล็อกที่ใช้ในอัลกอริธึม delta-transfer ของ rsync เป็นค่าคงที่
ค่า. โดยปกติจะถูกเลือกตามขนาดของแต่ละไฟล์ที่กำลังอัปเดต ดู
รายงานทางเทคนิคสำหรับรายละเอียด
-e, --rsh=คำสั่ง
ตัวเลือกนี้อนุญาตให้คุณเลือกโปรแกรมรีโมตเชลล์สำรองเพื่อใช้สำหรับ
การสื่อสารระหว่างสำเนา rsync ในพื้นที่และระยะไกล โดยทั่วไป rsync is
กำหนดค่าให้ใช้ ssh โดยค่าเริ่มต้น แต่คุณอาจต้องการใช้ rsh บนเครือข่ายท้องถิ่น
หากใช้ตัวเลือกนี้กับ [user@]โฮสต์::โมดูล/เส้นทางจากนั้นเปลือกระยะไกล คำสั่ง
จะถูกใช้เพื่อเรียกใช้ rsync daemon บนรีโมตโฮสต์ และข้อมูลทั้งหมดจะเป็น
ส่งผ่านการเชื่อมต่อเชลล์ระยะไกลนั้น แทนที่จะส่งผ่านโดยตรง
การเชื่อมต่อซ็อกเก็ตกับ rsync daemon ที่รันอยู่บนรีโมตโฮสต์ ดูส่วน
"การใช้คุณสมบัติ RSYNC-DAEMON ผ่านการเชื่อมต่อ REMOTE-SHELL" ด้านบน
อาร์กิวเมนต์บรรทัดคำสั่งได้รับอนุญาตใน COMMAND โดยมีเงื่อนไขว่า COMMAND ถูกนำเสนอ
เพื่อ rsync เป็นอาร์กิวเมนต์เดียว คุณต้องใช้ช่องว่าง (ไม่ใช่แท็บหรือช่องว่างอื่นๆ)
เพื่อแยกคำสั่งและ args ออกจากกัน และคุณสามารถใช้ single- และ/or
เครื่องหมายคำพูดคู่เพื่อรักษาช่องว่างในอาร์กิวเมนต์ (แต่ไม่ใช่แบ็กสแลช) สังเกตว่า
การเพิ่มอัญประกาศเดี่ยวเป็นสองเท่าภายในสตริงที่อัญประกาศเดี่ยวจะทำให้คุณมีอัญประกาศเดี่ยว
ในทำนองเดียวกันสำหรับเครื่องหมายคำพูดคู่ (แม้ว่าคุณต้องใส่ใจกับคำพูดของคุณ
เชลล์กำลังแยกวิเคราะห์และคำพูดใดที่ rsync กำลังแยกวิเคราะห์) ตัวอย่างบางส่วน:
-e 'ssh -p 2234'
-e 'ssh -o "ProxyCommand nohup ssh ไฟร์วอลล์ nc -w1 %h %p"'
(โปรดทราบว่าผู้ใช้ ssh สามารถเลือกปรับแต่งตัวเลือกการเชื่อมต่อเฉพาะไซต์ใน
.ssh/config ไฟล์ของพวกเขา)
คุณยังสามารถเลือกโปรแกรมรีโมตเชลล์โดยใช้สภาพแวดล้อม RSYNC_RSH
ตัวแปรซึ่งรับช่วงค่าเดียวกันกับ -e.
ดูเพิ่มเติมที่ --การปิดกั้น-io ตัวเลือกที่ได้รับผลกระทบจากตัวเลือกนี้
--rsync-path=โปรแกรม
ใช้สิ่งนี้เพื่อระบุโปรแกรมที่จะรันบนเครื่องระยะไกลเพื่อเริ่มต้น
rsync มักใช้เมื่อ rsync ไม่อยู่ในเส้นทางเริ่มต้นของเชลล์ระยะไกล (เช่น
--rsync-path=/usr/local/bin/rsync) โปรดทราบว่า PROGRAM ทำงานโดยใช้ a
เชลล์ ดังนั้นอาจเป็นโปรแกรม สคริปต์ หรือลำดับคำสั่งใดๆ ที่คุณต้องการเรียกใช้ ดังนั้น
ตราบใดที่มันไม่ได้ทำให้มาตรฐานเข้า & ออกมาตรฐานที่ rsync ใช้to
สื่อสาร.
ตัวอย่างที่ยุ่งยากอย่างหนึ่งคือการตั้งค่าไดเร็กทอรีเริ่มต้นอื่นบนเครื่องระยะไกล
สำหรับใช้กับไฟล์ --ญาติ ตัวเลือก. ตัวอย่างเช่น:
rsync -avR --rsync-path="cd /a/b && rsync" โฮสต์:c/d /e/
-NS, --remote-option = ตัวเลือก
ตัวเลือกนี้ใช้สำหรับสถานการณ์ขั้นสูงที่คุณต้องการเอฟเฟกต์บางอย่าง
จำกัดการโอนด้านเดียวเท่านั้น เช่น ถ้าคุณต้องการผ่าน
--log-file=ไฟล์ และ --ปลอม-ซุปเปอร์ ในระบบรีโมต ให้ระบุดังนี้:
rsync -av -M --log-file=foo -M--fake-super src/ ปลายทาง/
หากคุณต้องการมีตัวเลือกให้มีผลเฉพาะด้านการถ่ายโอนเมื่อ
ปกติจะมีผลทั้งสองฝ่าย ส่งการปฏิเสธไปทางด้านระยะไกล แบบนี้:
rsync -av -x -M--no-x src/ ปลายทาง/
โปรดใช้ความระมัดระวัง เนื่องจากสามารถสลับตัวเลือกที่จะทำให้เกิด rsync . ได้
มีความคิดที่แตกต่างเกี่ยวกับข้อมูลที่คาดหวังต่อไปบนซ็อกเก็ต และนั่น
จะทำให้ล้มเหลวอย่างคลุมเครือ
โปรดทราบว่าเป็นการดีที่สุดที่จะใช้ตัวแยก --remote-ตัวเลือก สำหรับแต่ละตัวเลือกที่คุณต้องการ
ผ่าน. ทำให้การใช้งานของคุณเข้ากันได้กับ --ปกป้อง-args ตัวเลือก. ถ้าอย่างนั้น
ปิดตัวเลือก ช่องว่างใด ๆ ในตัวเลือกระยะไกลของคุณจะถูกแบ่งโดยเปลือกระยะไกล
เว้นแต่คุณจะทำตามขั้นตอนเพื่อปกป้องพวกเขา
เมื่อทำการโอนย้ายในพื้นที่ ฝั่ง "ท้องถิ่น" คือผู้ส่งและ "ระยะไกล"
ด้านข้างเป็นเครื่องรับ
โปรดทราบว่าไลบรารีแยกวิเคราะห์ตัวเลือก popt บางรุ่นมีจุดบกพร่องในตัวนั้น
ป้องกันไม่ให้คุณใช้ arg ที่อยู่ติดกันโดยมีค่าเท่ากับอยู่ถัดจากตัวเลือกสั้น ๆ
จดหมาย (เช่น -M--log-file=/tmp/foo หากข้อผิดพลาดนี้ส่งผลต่อรุ่นของ popt คุณ
สามารถใช้เวอร์ชันของ popt ที่มาพร้อมกับ rsync
-ค, --cvs-ไม่รวม
นี่เป็นชวเลขที่มีประโยชน์สำหรับการยกเว้นไฟล์ที่หลากหลายที่คุณมักจะ
ไม่ต้องการถ่ายโอนระหว่างระบบ ใช้อัลกอริธึมที่คล้ายกับ CVS to
กำหนดว่าไฟล์ควรถูกละเว้นหรือไม่
รายการที่แยกจะถูกเริ่มต้นเพื่อแยกรายการต่อไปนี้ (รายการเริ่มต้นเหล่านี้
ถูกทำเครื่องหมายว่าเน่าเสียง่าย -- ดูส่วนกฎของตัวกรอง):
RCS SCCS CVS CVS.adm RCSLOG cvslog.* แท็ก TAGS .make.state .nse_depinfo *~
#* .#* ,* _$* *$ *.old *.bak *.BAK *.orig *.rej .del-* *.a *.olb *.o *.obj
*.so *.exe *.Z *.elc *.ln คอร์ .svn/ .git/ .hg/ .bzr/
จากนั้น ไฟล์ที่อยู่ใน $HOME/.cvsignore จะถูกเพิ่มเข้าไปในรายการ และไฟล์ใดๆ ที่อยู่ในรายการ
ในตัวแปรสภาพแวดล้อม CVSIGNORE (ชื่อ cvsignore ทั้งหมดถูกคั่นด้วย
ช่องว่าง)
สุดท้าย ไฟล์ใดๆ จะถูกละเว้นหากอยู่ในไดเร็กทอรีเดียวกันกับ .cvsignore file
และตรงกับรูปแบบใดรูปแบบหนึ่งที่ระบุไว้ในนั้น ไม่เหมือนกับตัวกรอง/ยกเว้นของ rsync
ไฟล์ รูปแบบเหล่านี้จะถูกแบ่งบนช่องว่าง ดู CVS(1) คู่มือเพิ่มเติม
ข้อมูล
หากคุณกำลังรวมตัว -C ด้วยตัวคุณเอง --กรอง กฎ คุณควรทราบว่า CVS . เหล่านี้
ข้อยกเว้นจะถูกต่อท้ายกฎของคุณเอง โดยไม่คำนึงว่า -C คือ
วางไว้บนบรรทัดคำสั่ง ทำให้มีลำดับความสำคัญต่ำกว่ากฎใดๆ ที่คุณ
ระบุไว้อย่างชัดเจน หากคุณต้องการควบคุมตำแหน่งที่ไม่รวม CVS เหล่านี้ให้แทรก
ในกฎตัวกรองของคุณ คุณควรละเว้น -C เป็นตัวเลือกบรรทัดคำสั่งและใช้ a
การรวมกันของ --ตัวกรอง=:ค และ --ตัวกรอง=-ค (ไม่ว่าจะในบรรทัดคำสั่งของคุณหรือโดย
ใส่กฎ ":C" และ "-C" ลงในไฟล์ตัวกรองด้วยกฎอื่นๆ ของคุณ) ดิ
ตัวเลือกแรกจะเปิดการสแกนตามไดเรกทอรีสำหรับไฟล์ .cvsignore ดิ
ตัวเลือกที่สองทำการนำเข้า CVS แบบครั้งเดียวโดยไม่รวมที่กล่าวไว้ข้างต้น
-NS, --filter=กฎ
ตัวเลือกนี้ช่วยให้คุณเพิ่มกฎเพื่อเลือกแยกไฟล์บางไฟล์ออกจาก
รายการไฟล์ที่จะโอน สิ่งนี้มีประโยชน์มากที่สุดเมื่อใช้ร่วมกับ a
การโอนซ้ำ
คุณสามารถใช้ได้มาก --กรอง ตัวเลือกบนบรรทัดคำสั่งตามที่คุณต้องการสร้าง
รายการไฟล์ที่จะยกเว้น หากตัวกรองมีช่องว่าง ให้ใส่เครื่องหมายคำพูด
เพื่อให้เชลล์ให้กฎ rsync เป็นอาร์กิวเมนต์เดียว ข้อความด้านล่าง
ยังระบุด้วยว่าคุณสามารถใช้ขีดล่างเพื่อแทนที่ช่องว่างที่คั่น a
ปกครองจากอาร์กิวเมนต์ของมัน
ดูส่วนกฎของตัวกรองสำหรับข้อมูลโดยละเอียดเกี่ยวกับตัวเลือกนี้
-F งานวิ่งการกุศล -F ตัวเลือกคือชวเลขสำหรับการเพิ่มสอง --กรอง กฎตามคำสั่งของคุณ ดิ
ครั้งแรกที่ใช้เป็นการจดชวเลขสำหรับกฎนี้:
--filter='dir-merge /.rsync-filter'
สิ่งนี้บอกให้ rsync ค้นหาไฟล์ .rsync-filter สำหรับแต่ละไดเรกทอรีที่ได้รับ
โปรยผ่านลำดับชั้นและใช้กฎของพวกเขาเพื่อกรองไฟล์ใน
โอนย้าย. ถ้า -F ซ้ำแล้วซ้ำอีก เป็นชวเลขสำหรับกฎนี้:
--filter='exclude .rsync-filter'
สิ่งนี้จะกรองไฟล์ .rsync-filter ออกจากการถ่ายโอน
ดูส่วนกฎของตัวกรองสำหรับข้อมูลโดยละเอียดเกี่ยวกับวิธีการทำงานของตัวเลือกเหล่านี้
--exclude=รูปแบบ
ตัวเลือกนี้เป็นรูปตัวย่อของ --กรอง ตัวเลือกที่มีค่าเริ่มต้นเป็นไม่รวม
กฎและไม่อนุญาตให้ใช้ไวยากรณ์การแยกวิเคราะห์กฎแบบเต็มของกฎตัวกรองปกติ
ดูส่วนกฎของตัวกรองสำหรับข้อมูลโดยละเอียดเกี่ยวกับตัวเลือกนี้
--exclude-จาก=FILE
ตัวเลือกนี้เกี่ยวข้องกับ --ไม่รวม ตัวเลือก แต่มันระบุไฟล์ที่
มีรูปแบบการยกเว้น (หนึ่งรายการต่อบรรทัด) บรรทัดว่างในไฟล์และบรรทัด
เริ่มต้นด้วย ';' หรือ '#' จะถูกละเว้น ถ้า ไฟล์ is -, รายการจะถูกอ่านจาก
อินพุตมาตรฐาน
--include=รูปแบบ
ตัวเลือกนี้เป็นรูปตัวย่อของ --กรอง ตัวเลือกที่มีค่าเริ่มต้นเป็น include
กฎและไม่อนุญาตให้ใช้ไวยากรณ์การแยกวิเคราะห์กฎแบบเต็มของกฎตัวกรองปกติ
ดูส่วนกฎของตัวกรองสำหรับข้อมูลโดยละเอียดเกี่ยวกับตัวเลือกนี้
--include-จาก = FILE
ตัวเลือกนี้เกี่ยวข้องกับ --รวม ตัวเลือก แต่มันระบุไฟล์ที่
มีรูปแบบรวม (หนึ่งรายการต่อบรรทัด) บรรทัดว่างในไฟล์และบรรทัด
เริ่มต้นด้วย ';' หรือ '#' จะถูกละเว้น ถ้า ไฟล์ is -, รายการจะถูกอ่านจาก
อินพุตมาตรฐาน
--files-จาก=FILE
การใช้ตัวเลือกนี้ทำให้คุณสามารถระบุรายการไฟล์ที่จะโอนได้อย่างแม่นยำ (เช่น
อ่านจากไฟล์ที่ระบุหรือ - สำหรับอินพุตมาตรฐาน) นอกจากนี้ยังปรับแต่งค่าเริ่มต้น
พฤติกรรมของ rsync เพื่อให้ถ่ายโอนเฉพาะไฟล์และไดเร็กทอรีที่ระบุ
ง่ายขึ้น:
ดิ --ญาติ (-R) ตัวเลือกเป็นนัยซึ่งเก็บรักษาข้อมูลเส้นทาง
ที่กำหนดไว้สำหรับแต่ละรายการในไฟล์ (use --ไม่มีญาติ or --ก็ไม่เช่นกัน if
คุณต้องการปิด)
ดิ --ผอ (-d) ตัวเลือกเป็นนัยซึ่งจะสร้างไดเร็กทอรีที่ระบุ
ในรายการปลายทางแทนที่จะข้ามไปส่งเสียงดัง (use
--no-dirs or --ไม่มี-d หากคุณต้องการปิด)
ดิ --คลังเก็บเอกสารสำคัญ (-a) พฤติกรรมของตัวเลือกไม่ได้หมายความถึง - บันทึกซ้ำ (-r) ดังนั้น
ระบุให้ชัดเจนหากต้องการ
o ผลข้างเคียงเหล่านี้เปลี่ยนสถานะเริ่มต้นของ rsync ดังนั้นตำแหน่งของ
--files-จาก ตัวเลือกบนบรรทัดคำสั่งไม่มีผลต่อตัวเลือกอื่น ๆ
มีการแยกวิเคราะห์ (เช่น -a ทำงานเหมือนเดิมก่อนหรือหลัง --files-จากเช่นเดียวกับ
--ก็ไม่เช่นกัน และตัวเลือกอื่นๆ ทั้งหมด)
ชื่อไฟล์ที่อ่านจากไฟล์นั้นสัมพันธ์กับแหล่งที่มา dir -- any
เครื่องหมายทับชั้นนำจะถูกลบออกและไม่อนุญาตให้มีการอ้างอิง ".." มากกว่า
แหล่งข่าว ตัวอย่างเช่น ใช้คำสั่งนี้:
rsync -a --files-from=/tmp/foo / usr รีโมท // สำรองข้อมูล
หาก /tmp/foo มีสตริง "bin" (หรือแม้แต่ "/ bin"), ที่ / usr / bin ไดเรกทอรี will
ถูกสร้างเป็น /backup/bin บนรีโมตโฮสต์ หากมี "bin/" (หมายเหตุ
สแลชต่อท้าย) เนื้อหาในไดเร็กทอรีก็จะถูกส่งเช่นกัน
(โดยไม่จำเป็นต้องระบุอย่างชัดเจนในไฟล์ -- สิ่งนี้เริ่มในเวอร์ชัน
2.6.4) ในทั้งสองกรณี ถ้า -r เปิดใช้งานตัวเลือกแล้ว ลำดับชั้นทั้งหมดของ dir นั้น
ก็จะถูกโอนไปด้วย (พึงระลึกไว้ว่า -r ต้องระบุให้ชัดเจน
กับ --files-จากเนื่องจากไม่ได้หมายความถึง -a). พึงทราบด้วยว่าผลของ
(เปิดใช้งานโดยค่าเริ่มต้น) --ญาติ ตัวเลือกคือการทำซ้ำเฉพาะข้อมูลเส้นทางที่
ถูกอ่านจากไฟล์ -- มันไม่ได้บังคับให้ทำซ้ำของเส้นทางข้อมูลจำเพาะต้นทาง
(/ usr ในกรณีนี้).
นอกจากนี้ --files-จาก สามารถอ่านไฟล์จากรีโมตโฮสต์แทนไฟล์
โฮสต์ท้องถิ่นหากคุณระบุ "โฮสต์:" ไว้หน้าไฟล์ (โฮสต์ต้องตรงกับหนึ่ง
สิ้นสุดการโอน) เป็นทางลัด คุณสามารถระบุเพียงคำนำหน้าของ ":" เพื่อหมายถึง
"ใช้ปลายทางระยะไกลของการถ่ายโอน" ตัวอย่างเช่น:
rsync -a --files-from=:/path/file-list src:/ /tmp/copy
สิ่งนี้จะคัดลอกไฟล์ทั้งหมดที่ระบุในไฟล์ /path/file-list ที่เคยเป็น
ตั้งอยู่บนโฮสต์ "src" ระยะไกล
ถ้า --iconv และ --ปกป้อง-args มีการระบุตัวเลือกและ --files-จาก
ชื่อไฟล์ถูกส่งจากโฮสต์หนึ่งไปยังอีกโฮสต์หนึ่ง ชื่อไฟล์จะถูกแปล
จากชุดอักขระของโฮสต์ที่ส่งไปยังชุดอักขระของโฮสต์ที่รับ
หมายเหตุ: การเรียงลำดับรายการไฟล์ใน --files-from อินพุตช่วยให้ rsync มีมากขึ้น
อย่างมีประสิทธิภาพ เนื่องจากจะหลีกเลี่ยงการเยี่ยมชมองค์ประกอบเส้นทางที่ใช้ร่วมกันระหว่าง
รายการที่อยู่ติดกัน ถ้าอินพุตไม่ถูกจัดเรียง บางองค์ประกอบพาธ (โดยนัย
ไดเร็กทอรี) อาจถูกสแกนหลายครั้ง และในที่สุด rsync จะถูกสแกน
unduplicate พวกเขาหลังจากที่ถูกเปลี่ยนเป็นองค์ประกอบรายการไฟล์
-0, --จาก0
สิ่งนี้บอก rsync ว่ากฎ/ชื่อไฟล์ที่อ่านจากไฟล์นั้นถูกยกเลิกโดยa
อักขระ null ('\0') ไม่ใช่ NL, CR หรือ CR+LF สิ่งนี้ส่งผลกระทบ --exclude-จาก,
--รวม-จาก, --files-จากและไฟล์ที่ผสานใดๆ ที่ระบุใน a --กรอง กฎ
ไม่ส่งผลกระทบ --cvs-ไม่รวม (เนื่องจากชื่อทั้งหมดที่อ่านจากไฟล์ .cvsignore เป็น
แยกเป็นช่องว่าง)
-NS, --ปกป้อง-args
ตัวเลือกนี้ส่งชื่อไฟล์ทั้งหมดและตัวเลือกส่วนใหญ่ไปยัง rsync ระยะไกลโดยไม่ต้อง
ทำให้รีโมตเชลล์ตีความได้ ซึ่งหมายความว่าช่องว่างจะไม่ถูกแบ่งออก
ในชื่อและอักขระพิเศษที่ไม่ใช่สัญลักษณ์แทนจะไม่ถูกแปล (เช่น ~, $,
;, & ฯลฯ ) ไวด์การ์ดถูกขยายบนรีโมตโฮสต์โดย rsync (แทนที่จะเป็น
เชลล์ทำมัน)
หากคุณใช้ตัวเลือกนี้กับ --iconv, args ที่เกี่ยวข้องกับด้านระยะไกลก็จะ
แปลจากโลคัลไปเป็นชุดอักขระระยะไกล การแปลเกิดขึ้น
ก่อนจะขยายไวด์การ์ด ดูเพิ่มเติมที่ --files-จาก ตัวเลือก
คุณยังสามารถควบคุมตัวเลือกนี้ผ่านตัวแปรสภาพแวดล้อม RSYNC_PROTECT_ARGS
หากตัวแปรนี้มีค่าที่ไม่ใช่ศูนย์ ตัวเลือกนี้จะเปิดใช้งานโดยค่าเริ่มต้น
มิฉะนั้นจะถูกปิดใช้งานโดยค่าเริ่มต้น สถานะใดถูกแทนที่โดย manual
ระบุเวอร์ชันบวกหรือลบของตัวเลือกนี้ (โปรดทราบว่า --ไม่-ส และ
--ไม่มีการป้องกัน-args เป็นรุ่นเชิงลบ) เนื่องจากตัวเลือกนี้มาก่อน
เปิดตัวใน 3.0.0 คุณจะต้องตรวจสอบให้แน่ใจว่ามันถูกปิดการใช้งานหากคุณต้องการ
โต้ตอบกับ rsync ระยะไกลที่เก่ากว่านั้น
Rsync สามารถกำหนดค่าได้ ( ณ เวลาสร้าง) เพื่อให้ตัวเลือกนี้เปิดใช้งานโดยค่าเริ่มต้น
(with ถูกแทนที่โดยทั้งสภาพแวดล้อมและบรรทัดคำสั่ง) ตัวเลือกนี้
ในที่สุดก็จะกลายเป็นการตั้งค่าเริ่มต้นใหม่ที่บางจุดที่ยังไม่ได้กำหนดใน
อนาคต.
-NS, --temp-dir=DIR
ตัวเลือกนี้สั่งให้ rsync ใช้ DIR เป็นไดเร็กทอรีเริ่มต้นเมื่อสร้าง
สำเนาชั่วคราวของไฟล์ที่ถ่ายโอนทางฝั่งผู้รับ ค่าเริ่มต้น
ลักษณะการทำงานคือการสร้างแต่ละไฟล์ชั่วคราวในไดเร็กทอรีเดียวกันกับไฟล์ที่เกี่ยวข้อง
ไฟล์ปลายทาง เริ่มต้นด้วย rsync 3.1.1 ชื่อไฟล์ชั่วคราวภายใน
DIR ที่ระบุจะไม่นำหน้าด้วยจุดพิเศษ (แม้ว่าจะยังคงมี a
เพิ่มคำต่อท้ายแบบสุ่ม)
ตัวเลือกนี้มักใช้เมื่อไม่มีพาร์ติชั่นดิสก์ที่รับ
พื้นที่ว่างเพียงพอที่จะเก็บสำเนาของไฟล์ที่ใหญ่ที่สุดในการถ่ายโอน ในกรณีนี้
(เช่นเมื่อไดเร็กทอรี scratch อยู่ในพาร์ติชั่นดิสก์อื่น) rsync จะไม่
สามารถเปลี่ยนชื่อไฟล์ชั่วคราวที่ได้รับจากด้านบนของไฟล์ที่เกี่ยวข้อง
ไฟล์ปลายทาง แต่ต้องคัดลอกลงในตำแหน่งแทน Rsync ทำได้โดยการคัดลอก
ไฟล์ที่อยู่ด้านบนสุดของไฟล์ปลายทาง ซึ่งหมายความว่า ปลายทาง
ไฟล์จะมีข้อมูลที่ตัดทอนในระหว่างการคัดลอกนี้ ถ้าไม่ทำอย่างนี้
(แม้ว่าไฟล์ปลายทางจะถูกลบออกในครั้งแรก ข้อมูลในเครื่องก็คัดลอกไปยังa
ไฟล์ชั่วคราวในไดเร็กทอรีปลายทางแล้วเปลี่ยนชื่อเป็นตำแหน่ง) มันจะ
เป็นไปได้ที่ไฟล์เก่าจะใช้เนื้อที่ดิสก์ต่อไป (ถ้ามีคนมี
เปิด) และอาจมีพื้นที่ไม่เพียงพอให้พอดีกับเวอร์ชันใหม่บนดิสก์
ในขณะเดียวกัน
หากคุณใช้ตัวเลือกนี้ด้วยเหตุผลอื่นนอกเหนือจากการขาดแคลนพื้นที่ดิสก์ คุณ
อาจต้องการรวมเข้ากับ --delay-update ตัวเลือกซึ่งจะทำให้มั่นใจได้ว่าทั้งหมด
ไฟล์ที่คัดลอกจะถูกใส่ลงในไดเร็กทอรีย่อยในลำดับชั้นปลายทางรอ
สิ้นสุดการโอน หากคุณมีที่ว่างไม่เพียงพอที่จะทำซ้ำการมาถึงทั้งหมด
ไฟล์บนพาร์ติชันปลายทาง อีกวิธีหนึ่งในการบอก rsync ว่าคุณไม่ใช่
ความกังวลเกี่ยวกับพื้นที่ดิสก์มากเกินไปคือการใช้ --partial-ผบ ตัวเลือกด้วย a
เส้นทางสัมพัทธ์; เพราะสิ่งนี้บอก rsync ว่าสามารถซ่อนสำเนาของa .ได้
ไฟล์เดียวใน subdir ในลำดับชั้นปลายทาง rsync จะใช้
part-dir เป็นพื้นที่การแสดงละครเพื่อนำไฟล์ที่คัดลอกมา แล้วเปลี่ยนชื่อมัน
เข้าที่จากที่นั่น (ระบุ a --partial-ผบ มีทางสัมบูรณ์ไม่
มีผลข้างเคียงนี้)
-y, --คลุมเครือ
ตัวเลือกนี้บอก rsync ว่าควรค้นหาไฟล์พื้นฐานสำหรับปลายทางใด ๆ
ไฟล์ที่หายไป อัลกอริธึมปัจจุบันจะอยู่ในไดเร็กทอรีเดียวกันกับ the
ไฟล์ปลายทางสำหรับไฟล์ที่มีขนาดเท่ากันและเวลาที่แก้ไขหรือ
ไฟล์ที่มีชื่อคล้ายกัน หากพบ rsync จะใช้ไฟล์พื้นฐานคลุมเครือเพื่อพยายามเร่งความเร็ว
ขึ้นการโอน
หากตัวเลือกถูกทำซ้ำ การสแกนแบบคลุมเครือจะทำในการจับคู่ใด ๆ ก็ได้
ไดเร็กทอรีปลายทางอื่นที่ระบุผ่าน --เปรียบเทียบปลายทาง,
--copy-ปลายทาง,หรือ --link-ปลายทาง.
โปรดทราบว่าการใช้ --ลบ ตัวเลือกอาจกำจัดการจับคู่คลุมเครือที่อาจเกิดขึ้นได้
ไฟล์ดังนั้นใช้ --ลบหลัง หรือระบุการยกเว้นชื่อไฟล์หากคุณต้องการ
เพื่อป้องกันสิ่งนี้
--เปรียบเทียบปลายทาง=DIR
ตัวเลือกนี้สั่งให้ rsync ใช้ DIR บนเครื่องปลายทางเพิ่มเติม
ลำดับชั้นเพื่อเปรียบเทียบไฟล์ปลายทางกับการถ่ายโอน (หากไฟล์เป็น
หายไปในไดเร็กทอรีปลายทาง) หากพบไฟล์ใน DIR ที่เหมือนกัน
ไปยังไฟล์ของผู้ส่ง ไฟล์จะไม่ถูกโอนไปยังปลายทาง
ไดเร็กทอรี สิ่งนี้มีประโยชน์สำหรับการสร้างการสำรองข้อมูลแบบเบาบางของไฟล์ที่มี
เปลี่ยนจากการสำรองข้อมูลก่อนหน้านี้ โดยทั่วไปตัวเลือกนี้ใช้เพื่อคัดลอกลงใน an
ไดเร็กทอรีว่าง (หรือสร้างใหม่)
เริ่มในเวอร์ชัน 2.6.4, หลายรายการ --เปรียบเทียบปลายทาง อาจมีไดเร็กทอรี
ซึ่งจะทำให้ rsync ค้นหารายการตามลำดับที่ระบุสำหรับที่แน่นอน
การแข่งขัน. หากพบว่ามีการจับคู่ที่แตกต่างกันในแอตทริบิวต์เท่านั้น จะทำสำเนาในเครื่อง
และคุณลักษณะที่อัปเดต หากไม่พบรายการที่ตรงกัน ไฟล์พื้นฐานจากไฟล์ใดไฟล์หนึ่ง
DIRs จะถูกเลือกเพื่อพยายามเร่งการถ่ายโอน
If DIR เป็นพาธสัมพัทธ์ มันสัมพันธ์กับไดเร็กทอรีปลายทาง ดูสิ่งนี้ด้วย
--copy-ปลายทาง และ --link-ปลายทาง.
หมายเหตุ: เริ่มต้นด้วยเวอร์ชัน 3.1.0 rsync จะลบไฟล์ออกจาก non-empty
ลำดับชั้นปลายทางหากพบการจับคู่ที่ตรงกันในหนึ่งในการเปรียบเทียบปลายทาง
ลำดับชั้น (ทำให้ผลลัพธ์สุดท้ายตรงกับสำเนาใหม่มากขึ้น)
--copy-dest=DIR
ตัวเลือกนี้ทำงานเหมือน --เปรียบเทียบปลายทางแต่ rsync จะคัดลอกไฟล์ที่ไม่เปลี่ยนแปลงด้วย
พบใน DIR ไปยังไดเร็กทอรีปลายทางโดยใช้สำเนาในเครื่อง สิ่งนี้มีประโยชน์สำหรับ
กำลังถ่ายโอนไปยังปลายทางใหม่โดยปล่อยให้ไฟล์ที่มีอยู่ไม่เสียหายและจากนั้น
ทำ flash-cutover เมื่อไฟล์ทั้งหมดได้รับการถ่ายโอนสำเร็จ
แพลตฟอร์มที่หลากหลาย --copy-ปลายทาง อาจมีการให้ไดเรกทอรีซึ่งจะทำให้ rsync ค้นหา
รายการตามลำดับที่ระบุสำหรับไฟล์ที่ไม่เปลี่ยนแปลง หากไม่พบการจับคู่ a
ไฟล์พื้นฐานจากหนึ่งใน DIRs จะถูกเลือกเพื่อพยายามเร่งการถ่ายโอน
If DIR เป็นพาธสัมพัทธ์ มันสัมพันธ์กับไดเร็กทอรีปลายทาง ดูสิ่งนี้ด้วย
--เปรียบเทียบปลายทาง และ --link-ปลายทาง.
--link-dest=DIR
ตัวเลือกนี้ทำงานเหมือน --copy-ปลายทางแต่ไฟล์ที่ไม่เปลี่ยนแปลงนั้นฮาร์ดลิงก์จาก DIR
ไปยังไดเร็กทอรีปลายทาง ไฟล์จะต้องเหมือนกันในการเก็บรักษาทั้งหมด
แอตทริบิวต์ (เช่น สิทธิ์ อาจเป็นเจ้าของ) เพื่อให้ไฟล์เป็น
เชื่อมโยงเข้าด้วยกัน ตัวอย่าง:
rsync -av --link-dest=$PWD/prior_dir โฮสต์:src_dir/ new_dir/
หากไฟล์ไม่ลิงก์ ให้ตรวจสอบแอตทริบิวต์อีกครั้ง ตรวจสอบด้วยว่าบาง
แอตทริบิวต์กำลังถูกบังคับนอกการควบคุมของ rsync ซึ่งเป็นตัวเลือกการเมานต์ที่
squishes root เป็นผู้ใช้คนเดียวหรือติดตั้งไดรฟ์แบบถอดได้ด้วยความเป็นเจ้าของทั่วไป
(เช่นตัวเลือก "ละเว้นความเป็นเจ้าของในโวลุ่มนี้" ของ OS X)
เริ่มในเวอร์ชัน 2.6.4, หลายรายการ --link-ปลายทาง อาจมีไดเร็กทอรีซึ่ง
จะทำให้ rsync ค้นหารายการตามลำดับที่ระบุสำหรับการจับคู่แบบตรงทั้งหมด ถ้า
พบการจับคู่ที่แตกต่างกันเฉพาะในคุณลักษณะ สำเนาในเครื่อง และ
อัปเดตแอตทริบิวต์แล้ว หากไม่พบรายการที่ตรงกัน ไฟล์พื้นฐานจากไฟล์ใดไฟล์หนึ่ง DIRs
จะถูกเลือกให้พยายามโอนให้เร็วขึ้น
ตัวเลือกนี้ทำงานได้ดีที่สุดเมื่อคัดลอกไปยังลำดับชั้นปลายทางที่ว่างเปล่า เช่น
ไฟล์ที่มีอยู่อาจได้รับการปรับปรุงแอตทริบิวต์ และอาจส่งผลต่อทางเลือก
ไฟล์ปลายทางผ่านฮาร์ดลิงก์ นอกจากนี้ การแยกรายการการเปลี่ยนแปลงอาจได้รับบิต
ยุ่งเหยิง โปรดทราบว่าก่อนหน้าเวอร์ชัน 3.1.0 การจับคู่แบบตรงทั้งหมดกับไดเรกทอรีสำรอง
จะไม่พบ (หรือเชื่อมโยงกับปลายทาง) เมื่อไฟล์ปลายทาง
มีอยู่แล้ว.
โปรดทราบว่าหากคุณรวมตัวเลือกนี้กับ --ignore-ครั้ง, rsync จะไม่เชื่อมโยงใด ๆ
ไฟล์เข้าด้วยกันเพราะจะเชื่อมโยงเฉพาะไฟล์ที่เหมือนกันแทน
การถ่ายโอนไฟล์ จะไม่มีการตรวจสอบเพิ่มเติมหลังจากอัปเดตไฟล์แล้ว
If DIR เป็นพาธสัมพัทธ์ มันสัมพันธ์กับไดเร็กทอรีปลายทาง ดูสิ่งนี้ด้วย
--เปรียบเทียบปลายทาง และ --copy-ปลายทาง.
โปรดทราบว่ารุ่น rsync ก่อน 2.6.1 มีจุดบกพร่องที่สามารถป้องกันได้ --link-ปลายทาง
จากการทำงานอย่างถูกต้องสำหรับผู้ที่ไม่ใช่ผู้ใช้ขั้นสูงเมื่อ -o ถูกระบุ (หรือโดยนัยโดย
-a). คุณสามารถแก้ไขจุดบกพร่องนี้ได้ด้วยการหลีกเลี่ยง -o ตัวเลือกเมื่อส่งไปยังเก่า
rsync
-z, --บีบอัด
ด้วยตัวเลือกนี้ rsync จะบีบอัดข้อมูลไฟล์เมื่อถูกส่งไปยังปลายทาง
เครื่อง ซึ่งลดปริมาณข้อมูลที่ถูกส่ง -- สิ่งที่เป็น
มีประโยชน์ผ่านการเชื่อมต่อที่ช้า
โปรดทราบว่าตัวเลือกนี้โดยทั่วไปจะมีอัตราส่วนการอัดที่ดีกว่าที่เป็นได้
ทำได้โดยใช้เปลือกระยะไกลบีบอัดหรือการขนส่งที่บีบอัดเพราะมัน
ใช้ประโยชน์จากข้อมูลโดยนัยในบล็อคข้อมูลที่ตรงกันซึ่งก็คือ
ไม่ได้ส่งผ่านการเชื่อมต่ออย่างชัดเจน การบีบอัดข้อมูลที่ตรงกันนี้มาที่a
ค่าใช้จ่ายของ CPU แม้ว่าและสามารถปิดใช้งานได้โดยการทำซ้ำ -z ตัวเลือก แต่ถ้า
ทั้งสองฝ่ายเป็นอย่างน้อยเวอร์ชัน 3.1.1
โปรดทราบว่าหากเวอร์ชันของ rsync ของคุณถูกคอมไพล์ด้วย zlib ภายนอก (แทนที่จะเป็น
zlib ที่มาพร้อมกับ rsync) จากนั้นจะไม่รองรับแบบเก่า
การบีบอัด เฉพาะการบีบอัดรูปแบบใหม่ (ตัวเลือกซ้ำ) ในอนาคตนี้
การบีบอัดรูปแบบใหม่มักจะกลายเป็นค่าเริ่มต้น
rsync ไคลเอนต์ร้องขอการบีบอัดรูปแบบใหม่บนเซิร์ฟเวอร์ผ่านทาง
--new-บีบอัด ตัวเลือก ดังนั้นหากคุณเห็นตัวเลือกนั้นถูกปฏิเสธ แสดงว่าเซิร์ฟเวอร์
ไม่ใหม่พอที่จะรองรับ -zz. Rsync ยังยอมรับ --old-บีบอัด ตัวเลือกสำหรับ
เวลาในอนาคตที่การบีบอัดรูปแบบใหม่จะกลายเป็นค่าเริ่มต้น
ดู --ข้าม-บีบอัด ตัวเลือกสำหรับรายการเริ่มต้นของส่วนต่อท้ายไฟล์ที่จะไม่
ถูกบีบอัด
--บีบอัดระดับ=NUM
กำหนดระดับการบีบอัดที่จะใช้อย่างชัดเจน (ดู --บีบอัด) แทนที่จะปล่อยให้มัน
ค่าเริ่มต้น. ถ้า NUM ไม่ใช่ศูนย์ ค่า --บีบอัด ตัวเลือกเป็นนัย
--skip-compress=รายการ
แทนที่รายการส่วนต่อท้ายไฟล์ที่จะไม่ถูกบีบอัด ดิ รายการ ควรจะเป็น
คำต่อท้ายไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไป (ไม่มีจุด) คั่นด้วยเครื่องหมายทับ (/)
คุณสามารถระบุสตริงว่างเพื่อระบุว่าไม่ควรข้ามไฟล์ใด
รองรับการจับคู่คลาสอักขระอย่างง่าย: แต่ละรายการต้องประกอบด้วยรายการ
ตัวอักษรภายในวงเล็บเหลี่ยม (เช่น ไม่มีคลาสพิเศษ เช่น "[:alpha:]",
ได้รับการสนับสนุนและ '-' ไม่มีความหมายพิเศษ)
อักขระดอกจัน (*) และเครื่องหมายคำถาม (?) ไม่มีความหมายพิเศษ
นี่คือตัวอย่างที่ระบุ 6 คำต่อท้ายที่จะข้าม (เนื่องจาก 1 ใน 5 กฎตรงกัน
2 คำต่อท้าย):
--ข้ามการบีบอัด=gz/jpg/mp[34]/7z/bz2
รายการเริ่มต้นของคำต่อท้ายที่จะไม่ถูกบีบอัดคือสิ่งนี้ (ในเวอร์ชันนี้
ของ rsync):
7z เอซ AVI bz2 หญิงที่เข้าสังคมครั้งแรก gpg gz ISO jpeg jpg lz ลาซมา ลโซ MOV mp3 mp4 OGG PNG RAR รอบต่อนาที ซิป
tbz tgz Tlz txz xz z ไปรษณีย์
รายการนี้จะถูกแทนที่ด้วยของคุณ --ข้าม-บีบอัด รายการทั้งหมดยกเว้นสถานการณ์เดียว: a
คัดลอกจากภูต rsync จะเพิ่มส่วนต่อท้ายที่ข้ามไปยังรายการของ
ไฟล์ที่ไม่บีบอัด (และรายการอาจถูกกำหนดค่าเป็นค่าเริ่มต้นอื่น)
--รหัสตัวเลข
ด้วยตัวเลือกนี้ rsync จะโอนกลุ่มตัวเลขและ ID ผู้ใช้แทนที่จะใช้
ชื่อผู้ใช้และกลุ่ม และทำการแมปที่ปลายทั้งสองข้าง
โดยค่าเริ่มต้น rsync จะใช้ชื่อผู้ใช้และชื่อกลุ่มเพื่อกำหนดความเป็นเจ้าของที่จะ
ให้ไฟล์. uid 0 พิเศษและกลุ่มพิเศษ 0 จะไม่ถูกแมปผ่าน
ชื่อผู้ใช้/ชื่อกลุ่มแม้ว่า --รหัสตัวเลข ไม่ได้ระบุตัวเลือก
หากผู้ใช้หรือกลุ่มไม่มีชื่อบนระบบต้นทางหรือไม่มีชื่อตรงกันบน
ระบบปลายทางจึงใช้รหัสตัวเลขจากระบบต้นทางแทน
ดูความคิดเห็นเกี่ยวกับการตั้งค่า "use chroot" ใน rsyncd.conf manpage for
ข้อมูลเกี่ยวกับการตั้งค่า chroot ที่ส่งผลต่อความสามารถของ rsync ในการค้นหาชื่อ
ของผู้ใช้และกลุ่มต่างๆ และสิ่งที่คุณสามารถทำได้
--usermap=STRING --groupmap=STRING
ตัวเลือกเหล่านี้อนุญาตให้คุณระบุผู้ใช้และกลุ่มที่ควรแมปกับผู้อื่น
ค่าโดยฝ่ายรับ ดิ STRING เป็นหนึ่งหรือมากกว่า จาก:TO คู่ของค่า
คั่นด้วยเครื่องหมายจุลภาค. ใด ๆ ที่ตรงกัน จาก ค่าจากผู้ส่งจะถูกแทนที่ด้วย a TO
ค่าจากเครื่องรับ คุณสามารถระบุชื่อผู้ใช้หรือ ID ผู้ใช้สำหรับ จาก และ TO
ค่านิยมและ จาก ค่าอาจเป็นสตริงไวด์การ์ดซึ่งจะถูกจับคู่
กับชื่อผู้ส่ง (ไวด์การ์ดไม่ตรงกับหมายเลขประจำตัวประชาชน แต่ดู
ด้านล่างสำหรับสาเหตุที่ '*' ตรงกับทุกอย่าง) คุณอาจระบุช่วงของ ID . แทน
ตัวเลขผ่านช่วงรวม: LOW-HIGH ตัวอย่างเช่น:
--usermap=0-99:nobody,wayne:admin,*:ปกติ --groupmap=usr:1,1:usr
คู่แรกในรายการคือคู่ที่ใช้ คุณควรระบุทั้งหมดของคุณ
การแมปผู้ใช้โดยใช้ single --แผนที่ผู้ใช้ ตัวเลือกและ/หรือการจับคู่กลุ่มทั้งหมดของคุณโดยใช้
เดียว --แผนที่กลุ่ม ตัวเลือก
โปรดทราบว่าชื่อผู้ส่งสำหรับผู้ใช้และกลุ่ม 0 จะไม่ถูกส่งไปยัง
ผู้รับ ดังนั้นคุณควรจับคู่ค่าเหล่านี้โดยใช้ 0 หรือใช้ชื่อใน
ผลต่อฝั่งผู้รับ (โดยทั่วไปคือ "รูท") อื่นๆ ทั้งหมด จาก ตรงกับชื่อเหล่านั้น
ในการใช้งานด้านส่ง ทั้งหมด TO ชื่อตรงกับที่ใช้ในด้านรับ
ID ใด ๆ ที่ไม่มีชื่อด้านส่งจะถือว่าว่างเปล่า
ชื่อเพื่อวัตถุประสงค์ในการจับคู่ ซึ่งช่วยให้จับคู่ผ่าน "*" หรือ
โดยใช้ชื่อว่าง ตัวอย่างเช่น:
--usermap=:ไม่มีใคร --groupmap=*:ไม่มีใคร
เมื่อราคาของ --รหัสตัวเลข ใช้ตัวเลือกผู้ส่งไม่ส่งชื่อใด ๆ ดังนั้นทั้งหมด
รหัสจะถือว่าเป็นชื่อว่าง ซึ่งหมายความว่าคุณจะต้อง
ระบุตัวเลข จาก ค่าถ้าคุณต้องการแมป ID นิรนามเหล่านี้กับ different
ค่า
สำหรับ --แผนที่ผู้ใช้ ตัวเลือกที่จะมีผลใดๆ the -o (--เจ้าของ) ต้องใช้ตัวเลือก
(หรือโดยนัย) และผู้รับจะต้องทำงานเป็นผู้ใช้ขั้นสูง (ดูเพิ่มเติมที่
--ปลอม-ซุปเปอร์ ตัวเลือก). สำหรับ --แผนที่กลุ่ม ตัวเลือกที่จะมีผลใดๆ the -g
(--กลุ่ม) ต้องใช้ตัวเลือก (หรือโดยนัย) และผู้รับจะต้องมี
สิทธิ์ในการตั้งค่ากลุ่มนั้น
--chown=ผู้ใช้:GROUP
ตัวเลือกนี้บังคับให้ไฟล์ทั้งหมดเป็นของ USER กับกลุ่ม GROUP มันคือ
อินเทอร์เฟซที่ง่ายกว่าการใช้ --แผนที่ผู้ใช้ และ --แผนที่กลุ่ม โดยตรง แต่มันคือ
ดำเนินการโดยใช้ตัวเลือกเหล่านั้นภายใน ดังนั้นคุณจึงไม่สามารถผสมผสานได้ ถ้าทั้ง
USER หรือ GROUP ว่างเปล่า การแมปสำหรับผู้ใช้/กลุ่มที่ละเว้นจะไม่เกิดขึ้น ถ้า GROUP
ว่างเปล่า โคลอนต่อท้ายอาจถูกละเว้น แต่ถ้า USER ว่างเปล่า โคลอนนำหน้า
จะต้องจัดหา
หากคุณระบุ "--chown=foo:bar ค่านี้จะเหมือนกับการระบุ
"--usermap=*:foo --groupmap=*:bar" ง่ายกว่าเท่านั้น
--timeout=หมดเวลา
ตัวเลือกนี้ช่วยให้คุณตั้งค่าการหมดเวลา I/O สูงสุดเป็นวินาที หากไม่มีข้อมูลคือ
โอนตามเวลาที่กำหนด จากนั้น rsync จะออก ค่าเริ่มต้นคือ 0 ซึ่ง
หมายถึงไม่มีการหมดเวลา
--การหมดเวลา
ตัวเลือกนี้ให้คุณกำหนดระยะเวลาที่ rsync จะรอมัน
การเชื่อมต่อกับ rsync daemon เพื่อให้สำเร็จ หากหมดเวลา rsync exits
ด้วยข้อผิดพลาด
--ที่อยู่
โดยค่าเริ่มต้น rsync จะผูกกับที่อยู่ตัวแทนเมื่อเชื่อมต่อกับ rsync
ภูต ดิ --ที่อยู่ ตัวเลือกช่วยให้คุณระบุที่อยู่ IP เฉพาะ (หรือ
ชื่อโฮสต์) เพื่อผูกกับ ดูตัวเลือกนี้ใน --ภูต ส่วนโหมด
--port=พอร์ต
ระบุหมายเลขพอร์ต TCP สำรองเพื่อใช้แทนค่าเริ่มต้น 873
สิ่งนี้จำเป็นเฉพาะเมื่อคุณใช้ไวยากรณ์เครื่องหมายทวิภาค (::) เพื่อเชื่อมต่อกับ
rsync daemon (เนื่องจากไวยากรณ์ URL มีวิธีระบุพอร์ตเป็นส่วนหนึ่งของ
URL) ดูตัวเลือกนี้ใน --ภูต ส่วนโหมด
--sockopts
ตัวเลือกนี้สามารถมอบความสนุกไม่รู้จบให้กับผู้ที่ชอบปรับแต่งระบบของตน
ระดับสูงสุด คุณสามารถตั้งค่าตัวเลือกซ็อกเก็ตทุกประเภทที่อาจทำการโอน
เร็วขึ้น (หรือช้ากว่า!) อ่าน man page สำหรับการเรียกระบบ setockopt() เพื่อดูรายละเอียด
ในตัวเลือกบางอย่างที่คุณอาจตั้งค่าได้ โดยค่าเริ่มต้น ไม่มีตัวเลือกซ็อกเก็ตพิเศษ
มีการตั้งค่า. สิ่งนี้มีผลกับการเชื่อมต่อซ็อกเก็ตโดยตรงกับ rsync daemon ระยะไกลเท่านั้น
ตัวเลือกนี้ยังมีอยู่ใน --ภูต ส่วนโหมด
--การปิดกั้น-io
สิ่งนี้บอกให้ rsync ใช้การบล็อก I/O เมื่อเรียกใช้การขนส่งเชลล์ระยะไกล ถ้า
รีโมตเชลล์เป็น rsh หรือ remsh โดยค่าเริ่มต้น rsync เป็นการใช้การบล็อก I/O
มิฉะนั้น ค่าเริ่มต้นจะใช้ I/O ที่ไม่บล็อก (โปรดทราบว่า ssh ชอบ
ไม่บล็อก I/O.)
--outbuf=โหมด
ตั้งค่าโหมดบัฟเฟอร์เอาต์พุต โหมดสามารถเป็น None (aka Unbuffered), Line,
หรือบล็อก (aka เต็ม) คุณสามารถระบุตัวอักษรสำหรับโหมดได้เพียงตัวเดียว
และใช้ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก
การใช้งานหลักของตัวเลือกนี้คือการเปลี่ยน Full buffering เป็น Line buffering เมื่อ
เอาต์พุตของ rsync จะไปที่ไฟล์หรือไปป์
-ผม, --itemize-การเปลี่ยนแปลง
ขอรายการแบบง่าย ๆ ของการเปลี่ยนแปลงที่เกิดขึ้นกับแต่ละไฟล์
รวมถึงการเปลี่ยนแปลงแอตทริบิวต์ นี้เหมือนกันทุกประการกับการระบุ
--out-format='%i %n%L'. หากคุณทำซ้ำตัวเลือก ไฟล์ที่ไม่เปลี่ยนแปลงจะเป็น
เอาต์พุต แต่ถ้า rsync ที่รับเป็นเวอร์ชัน 2.6.7 เป็นอย่างน้อย (คุณสามารถใช้ -vv
ด้วย rsync เวอร์ชันเก่า แต่ยังเปิดเอาต์พุตของ verbose . อื่นด้วย
ข้อความ)
อักขระหลีก "%i" มีเอาต์พุตที่คลุมเครือซึ่งมีความยาว 11 ตัวอักษร รูปแบบทั่วไป
ก็เหมือนเชือก YXcstpoguaxที่นี่มี Y ถูกแทนที่ด้วยประเภทของการอัปเดตที่เป็น
ทำ X ถูกแทนที่ด้วย file-type และตัวอักษรอื่น ๆ แสดงถึงแอตทริบิวต์
ที่อาจแสดงผลได้หากมีการปรับเปลี่ยน
ประเภทการอัปเดตที่แทนที่ Y มีรายละเอียดดังนี้:
o อา < หมายความว่าไฟล์กำลังถูกถ่ายโอนไปยังรีโมตโฮสต์ (ส่ง)
o อา > หมายความว่าไฟล์กำลังถูกถ่ายโอนไปยังโลคัลโฮสต์ (ที่ได้รับ)
o อา c หมายความว่ามีการเปลี่ยนแปลง/การสร้างในท้องถิ่นสำหรับรายการ (เช่น
การสร้างไดเร็กทอรีหรือการเปลี่ยน symlink เป็นต้น)
o อา h หมายความว่ารายการนั้นเป็นฮาร์ดลิงก์ไปยังรายการอื่น (requires
--ฮาร์ดลิงค์).
o อา . หมายความว่ารายการไม่ได้รับการอัพเดต (แม้ว่าอาจมี
แอตทริบิวต์ที่กำลังถูกแก้ไข)
o อา * หมายความว่าส่วนที่เหลือของพื้นที่แยกรายการออกมีข้อความ (เช่น
"การลบ")
ประเภทไฟล์ที่แทนที่ X คือ: f สำหรับไฟล์ a d สำหรับไดเร็กทอรี an L for
เชื่อมโยง a D สำหรับอุปกรณ์ และ a S สำหรับไฟล์พิเศษ (เช่น ชื่อ sockets และ
ฟีฟอส)
ตัวอักษรอื่นในสตริงด้านบนเป็นตัวอักษรจริงที่จะส่งออก if
กำลังอัปเดตแอตทริบิวต์ที่เกี่ยวข้องสำหรับรายการหรือ "" โดยไม่มีการเปลี่ยนแปลง
ข้อยกเว้นสามประการคือ: (1) รายการที่สร้างขึ้นใหม่แทนที่แต่ละตัวอักษรด้วย a
"+", (2) รายการที่เหมือนกันแทนที่จุดด้วยช่องว่าง และ (3) รายการที่ไม่รู้จัก
คุณลักษณะแทนที่แต่ละตัวอักษรด้วย "?" (สิ่งนี้สามารถเกิดขึ้นได้เมื่อพูดคุยกับผู้สูงอายุ
rsync)
คุณลักษณะที่เกี่ยวข้องกับตัวอักษรแต่ละตัวมีดังนี้:
o อา c หมายความว่าไฟล์ปกติมีการตรวจสอบที่แตกต่างกัน (requires
--เช็คซัม) หรือลิงก์สัญลักษณ์ อุปกรณ์ หรือไฟล์พิเศษมีค่าที่เปลี่ยนแปลง
โปรดทราบว่าหากคุณส่งไฟล์ไปยัง rsync ก่อน 3.0.1 การเปลี่ยนแปลงนี้
แฟล็กจะปรากฏเฉพาะสำหรับไฟล์ปกติที่มีความแตกต่างของเช็คซัมเท่านั้น
o อา s หมายความว่าขนาดของไฟล์ปกติจะแตกต่างกันและจะมีการอัพเดตโดย
การถ่ายโอนไฟล์
o อา t หมายความว่าเวลาแก้ไขแตกต่างกันและกำลังอัปเดตเป็น
มูลค่าของผู้ส่ง (requires --ครั้ง). ค่าอื่นของ T หมายความว่า
เวลาแก้ไขจะถูกตั้งค่าเป็นเวลาโอนซึ่งเกิดขึ้นเมื่อa
ไฟล์/symlink/อุปกรณ์ได้รับการอัปเดตโดยไม่ใช้ --ครั้ง และเมื่อ symlink เปลี่ยนไป
และผู้รับไม่สามารถตั้งเวลาได้ (หมายเหตุ: เมื่อใช้ rsync 3.0.0
ลูกค้า คุณอาจเห็น s ธงรวมกับ t แทนความเหมาะสม T
ตั้งค่าสถานะสำหรับความล้มเหลวในการตั้งเวลานี้)
o อา p หมายถึงการอนุญาตต่างกันและกำลังอัปเดตเป็น
มูลค่าของผู้ส่ง (requires --perms).
o อัน o หมายถึงเจ้าของเป็นคนละคนกันและกำลังปรับปรุงตามมูลค่าของผู้ส่ง
(ต้องมี --เจ้าของ และสิทธิ์ผู้ใช้ขั้นสูง)
o อา g หมายถึงกลุ่มแตกต่างและกำลังปรับปรุงตามมูลค่าของผู้ส่ง
(ต้องมี --กลุ่ม และอำนาจในการตั้งกลุ่ม)
ดิ u สล็อตถูกสงวนไว้สำหรับใช้ในอนาคต
ดิ a หมายความว่าข้อมูล ACL มีการเปลี่ยนแปลง
ดิ x หมายความว่าข้อมูลแอตทริบิวต์แบบขยายมีการเปลี่ยนแปลง
เอาต์พุตอื่นเป็นไปได้: เมื่อลบไฟล์ "%i" จะส่งออกสตริง
"*deleting" สำหรับแต่ละรายการที่กำลังถูกลบ (สมมติว่าคุณกำลังคุยกับa
rsync ล่าสุดเพียงพอที่จะบันทึกการลบแทนที่จะส่งออกเป็น verbose
ข้อความ)
--out-format=รูปแบบ
สิ่งนี้ช่วยให้คุณระบุสิ่งที่ไคลเอนต์ rsync ส่งออกไปยังผู้ใช้บนa
พื้นฐานต่อการอัปเดต รูปแบบเป็นสตริงข้อความที่ฝังตัวอักขระเดียว
ลำดับหลีกที่นำหน้าด้วยอักขระเปอร์เซ็นต์ (%) รูปแบบเริ่มต้นของ
"%n%L" จะถือว่าถ้า --info=ชื่อ or -v ถูกระบุ (สิ่งนี้บอกคุณเพียงแค่
ชื่อของไฟล์และหากรายการนั้นเป็นลิงก์ จะชี้ไปที่ใด) สำหรับรายการทั้งหมดของ
อักขระหลีกที่เป็นไปได้ โปรดดูการตั้งค่า "รูปแบบบันทึก" ใน rsyncd.conf
หน้าเพจ
การระบุ --นอกรูปแบบ ตัวเลือกหมายถึง --info=ชื่อ ซึ่งจะ
กล่าวถึงแต่ละไฟล์ dir ฯลฯ ที่ได้รับการอัปเดตอย่างมีนัยสำคัญ (a transfer
ไฟล์ symlink/อุปกรณ์ที่สร้างขึ้นใหม่ หรือไดเร็กทอรีที่สัมผัส) นอกจากนี้ ถ้า
itemize-changes escape (%i) รวมอยู่ในสตริง (เช่น ถ้า
--itemize-การเปลี่ยนแปลง ใช้ตัวเลือก) การบันทึกชื่อเพิ่มขึ้นเพื่อกล่าวถึงใด ๆ
รายการที่มีการเปลี่ยนแปลงแต่อย่างใด (ตราบเท่าที่ฝ่ายรับมีอย่างน้อย 2.6.4)
ดู --itemize-การเปลี่ยนแปลง ตัวเลือกสำหรับคำอธิบายของผลลัพธ์ของ "%i"
Rsync จะส่งออกสตริงที่มีรูปแบบออกก่อนการถ่ายโอนไฟล์ ยกเว้นอย่างใดอย่างหนึ่งของ
มีการร้องขอการหลบหนีสถิติการถ่ายโอนซึ่งในกรณีนี้การบันทึกจะทำที่
สิ้นสุดการถ่ายโอนไฟล์ เมื่อการเข้าสู่ระบบล่าช้านี้มีผลบังคับใช้และ --ความคืบหน้า
ถูกระบุด้วย rsync จะส่งออกชื่อไฟล์ที่กำลังถ่ายโอนด้วย
ก่อนข้อมูลความคืบหน้า (ตามด้วยผลลัพธ์นอกรูปแบบ)
--log-file=ไฟล์
ตัวเลือกนี้ทำให้ rsync บันทึกสิ่งที่ทำกับไฟล์ สิ่งนี้คล้ายกับ
การบันทึกที่ daemon ทำ แต่สามารถร้องขอได้สำหรับฝั่งไคลเอ็นต์และ/หรือ
ฝั่งเซิร์ฟเวอร์ของการถ่ายโอนที่ไม่ใช่ daemon หากระบุเป็นตัวเลือกของลูกค้า ให้โอน
การบันทึกจะเปิดใช้งานด้วยรูปแบบเริ่มต้นเป็น "%i %n%L" ดู
--log-ไฟล์-รูปแบบ ตัวเลือกหากคุณต้องการแทนที่สิ่งนี้
ต่อไปนี้คือคำสั่งตัวอย่างที่ขอให้ฝั่งระยะไกลบันทึกสิ่งที่เกิดขึ้น:
rsync -av --remote-option=--log-file=/tmp/rlog src/ ปลายทาง/
สิ่งนี้มีประโยชน์มากหากคุณต้องการแก้ไขจุดบกพร่องว่าทำไมการเชื่อมต่อถึงปิดโดยไม่คาดคิด
--log-file-format=รูปแบบ
สิ่งนี้ทำให้คุณสามารถระบุได้ชัดเจนว่าบันทึกการอัพเดทใดที่จะใส่ลงในไฟล์
ระบุโดย --ไฟล์บันทึก ตัวเลือก (ซึ่งต้องระบุสำหรับตัวเลือกนี้เพื่อ
มีผลใดๆ) หากคุณระบุสตริงว่าง ไฟล์ที่อัปเดตจะไม่เป็น
ระบุไว้ในไฟล์บันทึก สำหรับรายการอักขระหลีกที่เป็นไปได้ โปรดดูที่
การตั้งค่า "รูปแบบบันทึก" ใน manpage rsyncd.conf
รูปแบบเริ่มต้นที่ใช้ถ้า --ไฟล์บันทึก ถูกระบุและตัวเลือกนี้ไม่ใช่ '%i
%n%L'.
--สถิติ
สิ่งนี้บอกให้ rsync พิมพ์ชุดสถิติโดยละเอียดเกี่ยวกับการถ่ายโอนไฟล์
ช่วยให้คุณบอกได้ว่าอัลกอริธึม delta-transfer ของ rsync มีประสิทธิภาพสำหรับคุณ
ข้อมูล. ตัวเลือกนี้เทียบเท่ากับ --ข้อมูล=สถิติ2 ถ้ารวมกับ 0 หรือ 1 -v
ตัวเลือกหรือ --ข้อมูล=สถิติ3 ถ้ารวมกันตั้งแต่ 2 ตัวขึ้นไป -v ตัวเลือก
สถิติปัจจุบันมีดังนี้:
o จำนวน of ไฟล์ คือการนับของ "ไฟล์" ทั้งหมด (ในความหมายทั่วไป) ซึ่ง
รวมไดเร็กทอรี symlink เป็นต้น จำนวนทั้งหมดจะตามด้วย a
รายการการนับตามประเภทไฟล์ (หากยอดรวมไม่ใช่ศูนย์) ตัวอย่างเช่น: "(reg:
5, dir: 3, ลิงค์: 2, dev: 1, พิเศษ: 1)" แสดงรายการรวมสำหรับไฟล์ปกติ,
ไดเร็กทอรี ลิงก์สัญลักษณ์ อุปกรณ์ และไฟล์พิเศษ หากมีค่าใดเป็น 0 แสดงว่า
ถูกตัดออกจากรายการโดยสิ้นเชิง
o จำนวน of ที่สร้างขึ้น ไฟล์ คือการนับจำนวน "ไฟล์" (ความหมายทั่วไป)
ถูกสร้างขึ้น (ตรงข้ามกับการปรับปรุง) การนับทั้งหมดจะตามด้วย a
รายการการนับตามประเภทไฟล์ (หากยอดรวมไม่ใช่ศูนย์)
o จำนวน of ลบ ไฟล์ คือการนับจำนวน "ไฟล์" (ความหมายทั่วไป)
ถูกสร้างขึ้น (ตรงข้ามกับการปรับปรุง) การนับทั้งหมดจะตามด้วย a
รายการการนับตามประเภทไฟล์ (หากยอดรวมไม่ใช่ศูนย์) โปรดทราบว่าบรรทัดนี้
เป็นเอาต์พุตก็ต่อเมื่อการลบมีผล และเฉพาะในกรณีที่โปรโตคอล 31 เป็น
ใช้แล้ว (ค่าเริ่มต้นสำหรับ rsync 3.1.x)
o จำนวน of ปกติ ไฟล์ โอน คือจำนวนไฟล์ปกติที่มี
อัปเดตผ่านอัลกอริธึม delta-transfer ของ rsync ซึ่งไม่รวม dirs
ลิงก์สัญลักษณ์ ฯลฯ โปรดทราบว่า rsync 3.1.0 เพิ่มคำว่า "ปกติ" ลงในนี้
หัวข้อ
o รวม ไฟล์ ขนาด คือผลรวมของขนาดไฟล์ทั้งหมดในการถ่ายโอน นี้
ไม่นับขนาดใด ๆ สำหรับไดเร็กทอรีหรือไฟล์พิเศษ แต่รวม
ขนาดของ symlink
o รวม โอน ไฟล์ ขนาด คือผลรวมของขนาดไฟล์ทั้งหมดสำหรับ just
ไฟล์ที่ถ่ายโอน
o ตามตัวอักษร ข้อมูล คือจำนวนข้อมูลการอัพเดทไฟล์ที่ไม่ตรงกันที่เราต้องส่งไปยัง
ตัวรับเพื่อสร้างไฟล์ที่อัปเดตใหม่
o ตรงกัน ข้อมูล คือปริมาณข้อมูลที่ผู้รับได้รับในเครื่องเมื่อสร้าง .ขึ้นใหม่
ไฟล์ที่อัปเดต
o เนื้อไม่มีมัน รายการ ขนาด คือขนาดของข้อมูลรายการไฟล์เมื่อผู้ส่งส่งไปที่
ผู้รับ. ซึ่งมีขนาดเล็กกว่าขนาดในหน่วยความจำสำหรับรายการไฟล์เนื่องจาก
เพื่อบีบอัดข้อมูลที่ซ้ำกันเมื่อ rsync ส่งรายการ
o เนื้อไม่มีมัน รายการ รุ่น เวลา คือจำนวนวินาทีที่ผู้ส่งใช้ไป
การสร้างรายการไฟล์. สิ่งนี้ต้องการ rsync ที่ทันสมัยในด้านการส่ง
เพื่อให้สิ่งนี้มีอยู่
o เนื้อไม่มีมัน รายการ โอน เวลา คือจำนวนวินาทีที่ผู้ส่งใช้ไป
การส่งรายการไฟล์ไปยังผู้รับ
o รวม ไบต์ ส่ง คือจำนวนไบต์ทั้งหมดที่ rsync ส่งจาก
ฝั่งไคลเอ็นต์ไปยังฝั่งเซิร์ฟเวอร์
o รวม ไบต์ ที่ได้รับ คือจำนวนไบต์ที่ไม่ใช่ข้อความทั้งหมดที่rsync
ได้รับโดยฝั่งไคลเอ็นต์จากฝั่งเซิร์ฟเวอร์ ไบต์ "ไม่ใช่ข้อความ" หมายถึง
ที่เราไม่นับไบต์สำหรับข้อความ verbose ที่เซิร์ฟเวอร์ส่งถึง
เราซึ่งทำให้สถิติมีความสอดคล้องกันมากขึ้น
-8, ---8-บิต-เอาท์พุต
สิ่งนี้บอกให้ rsync ปล่อยให้อักขระบิตสูงทั้งหมดไม่ถูก Escape ในเอาต์พุตแทน
ของการพยายามทดสอบเพื่อดูว่าถูกต้องในสถานที่ปัจจุบันและหลบหนีหรือไม่
คนที่ไม่ถูกต้อง อักขระควบคุมทั้งหมด (แต่ไม่เคยแท็บ) จะถูกหลีกเลี่ยงเสมอ
โดยไม่คำนึงถึงการตั้งค่าของตัวเลือกนี้
สำนวน Escape ที่เริ่มต้นใน 2.6.7 คือการส่งออกแบ็กสแลชตามตัวอักษร (\) และ a
hash (#) ตามด้วยเลขฐานแปด 3 หลัก ตัวอย่างเช่น การขึ้นบรรทัดใหม่จะแสดงผล
เป็น "\#012" แบ็กสแลชตามตัวอักษรที่อยู่ในชื่อไฟล์จะไม่ถูก Escape เว้นแต่จะเป็น
ตามด้วยแฮชและตัวเลข 3 หลัก (0-9)
-ชม, --มนุษย์อ่านได้
เอาต์พุตตัวเลขในรูปแบบที่มนุษย์อ่านง่ายขึ้น มี 3 ระดับที่เป็นไปได้: (1)
หมายเลขเอาต์พุตพร้อมตัวคั่นระหว่างชุดตัวเลข 3 หลักแต่ละชุด (เครื่องหมายจุลภาคหรือ a
ระยะเวลา ขึ้นอยู่กับว่าจุดทศนิยมแสดงด้วยจุดหรือเครื่องหมายจุลภาค)
(2) ตัวเลขเอาท์พุตในหน่วย 1000 (มีอักษรต่อท้ายสำหรับหน่วยที่ใหญ่กว่า --
ดูด้านล่าง); (3) ตัวเลขเอาท์พุตในหน่วย 1024
ค่าดีฟอลต์คือระดับที่มนุษย์อ่านได้ 1 Each -h ตัวเลือกเพิ่มระดับโดยหนึ่ง
คุณสามารถลดระดับลงเหลือ 0 (เพื่อส่งออกตัวเลขเป็นตัวเลขล้วน) โดยการระบุ
--ไม่มีมนุษย์อ่านได้ (--ไม่-h) ตัวเลือก
ตัวอักษรหน่วยที่ต่อท้ายในระดับ 2 และ 3 ได้แก่ K (กิโล), M (mega), G
(กิกะ) หรือ T (เทรา) ตัวอย่างเช่น ไฟล์ขนาด 1234567 ไบต์จะส่งออกเป็น 1.23M in
ระดับ-2 (สมมติว่าจุดเป็นจุดทศนิยมท้องถิ่นของคุณ)
หมายเหตุความเข้ากันได้ย้อนหลัง: rsync เวอร์ชันก่อน 3.1.0 ไม่รองรับ
ระดับที่มนุษย์อ่านได้ 1 และมีค่าเริ่มต้นเป็นระดับ 0 ดังนั้น ระบุหนึ่งหรือสอง
-h ตัวเลือกจะทำงานในลักษณะที่เทียบเท่ากันในเวอร์ชันเก่าและเวอร์ชันใหม่ตราบเท่าที่
คุณไม่ได้ระบุ a --ไม่-h ตัวเลือกก่อนหนึ่งหรือมากกว่า -h ตัวเลือก. ดู
--รายการเท่านั้น ตัวเลือกสำหรับความแตกต่างเดียว
--บางส่วน
ตามค่าเริ่มต้น rsync จะลบไฟล์ที่ถ่ายโอนบางส่วนหากการถ่ายโอนเป็น
ขัดจังหวะ. ในบางสถานการณ์ควรเก็บไว้เพียงบางส่วน
ไฟล์ที่ถ่ายโอน ใช้ --บางส่วน ตัวเลือกบอกให้ rsync เก็บไฟล์บางส่วนไว้
ซึ่งควรทำให้การถ่ายโอนไฟล์ที่เหลือเร็วขึ้นมาก
--บางส่วน-dir=DIR
วิธีที่ดีกว่าในการเก็บไฟล์บางส่วนไว้มากกว่าไฟล์ --บางส่วน ตัวเลือกคือระบุ a DIR
ที่จะใช้เก็บข้อมูลบางส่วน (แทนที่จะเขียนลง
ไฟล์ปลายทาง) ในการโอนครั้งต่อไป rsync จะใช้ไฟล์ที่พบใน dir . นี้
เป็นข้อมูลเพื่อเร่งการเริ่มการถ่ายโอนใหม่แล้วลบออกหลังจากมี
ทำหน้าที่ตามวัตถุประสงค์
โปรดทราบว่าถ้า --ทั้งไฟล์ ถูกระบุ (หรือโดยนัย) ไฟล์ dir บางส่วนที่เป็น
พบสำหรับไฟล์ที่กำลังอัปเดตจะถูกลบออก (เนื่องจาก rsync is
ส่งไฟล์โดยไม่ใช้อัลกอริธึม delta-transfer ของ rsync)
Rsync จะสร้าง DIR ถ้ามันหายไป (แค่ dir สุดท้าย -- ไม่ใช่ทั้งหมด
เส้นทาง). ทำให้ง่ายต่อการใช้เส้นทางสัมพัทธ์ (เช่น
"--partial-dir=.rsync-บางส่วน") เพื่อให้ rsync สร้างไดเร็กทอรีบางส่วนใน
ไดเร็กทอรีของไฟล์ปลายทางเมื่อจำเป็น แล้วลบออกอีกครั้งเมื่อบางส่วน
ไฟล์ถูกลบ
หากค่า dir บางส่วนไม่ใช่พาธสัมบูรณ์ rsync จะเพิ่มกฎการยกเว้นที่
จุดสิ้นสุดของการยกเว้นที่มีอยู่ทั้งหมดของคุณ นี้จะป้องกันไม่ให้ส่งใด ๆ
ไฟล์ part-dir ที่อาจมีอยู่ในด้านการส่ง และจะป้องกันไม่ให้
การลบรายการ part-dir ทางฝั่งรับอย่างไม่เหมาะสม ตัวอย่าง: the
ข้างบน --partial-ผบ ตัวเลือกจะเพิ่มเทียบเท่ากับ "-f '-p .rsync-บางส่วน/'"ณ
การสิ้นสุดกฎการกรองอื่นๆ
หากคุณกำลังจัดหากฎการยกเว้นของคุณเอง คุณอาจต้องเพิ่มกฎของคุณเอง
ไม่รวม/ซ่อน/ป้องกันกฎสำหรับบางส่วน dir เนื่องจาก (1) กฎที่เพิ่มอัตโนมัติอาจ
ไม่ได้ผลเมื่อสิ้นสุดกฎอื่นๆ ของคุณ หรือ (2) คุณอาจต้องการแทนที่
ตัวเลือกยกเว้นของ rsync ตัวอย่างเช่น หากคุณต้องการให้ rsync ล้างข้อมูลใดๆ
ที่เหลือบางส่วน dirs ที่อาจนอนอยู่รอบ ๆ คุณควรระบุ --ลบหลัง
และเพิ่มกฎตัวกรอง "ความเสี่ยง" เช่น -f 'R .rsync-บางส่วน/'. (หลีกเลี่ยงการใช้
--ลบก่อน or --ลบ-ระหว่าง เว้นแต่คุณไม่จำเป็นต้อง rsync เพื่อใช้คำสั่งใดๆ
ข้อมูล dir บางส่วนที่เหลือในระหว่างการรันปัจจุบัน)
สำคัญ: the --partial-ผบ ผู้ใช้รายอื่นไม่ควรเขียนหรือเป็น
ความเสี่ยงด้านความปลอดภัย เช่นหลีกเลี่ยง "/ Tmp".
คุณยังสามารถตั้งค่าบางส่วน-dir ตัวแปรสภาพแวดล้อม RSYNC_PARTIAL_DIR
การตั้งค่านี้ในสภาพแวดล้อมไม่ได้บังคับ --บางส่วน ที่จะเปิดใช้งาน แต่ค่อนข้าง
มันส่งผลต่อตำแหน่งที่ไฟล์บางส่วนไปเมื่อ --บางส่วน ระบุไว้ ตัวอย่างเช่น
แทนการใช้ --บางส่วน-dir=.rsync-tmp พร้อมด้วย --ความคืบหน้า, คุณสามารถตั้งค่า
RSYNC_PARTIAL_DIR=.rsync-tmp ในสภาพแวดล้อมของคุณแล้วใช้ -P ตัวเลือก
เปิดการใช้ .rsync-tmp dir สำหรับการถ่ายโอนบางส่วน ครั้งเดียวที่
--บางส่วน ตัวเลือกไม่มองหาค่าสภาพแวดล้อมนี้คือ (1) เมื่อ
--ในสถานที่ ถูกระบุ (ตั้งแต่ --ในสถานที่ ขัดแย้งกับ --partial-ผบ) และ (2)
เมื่อ --delay-update ระบุไว้ (ดูด้านล่าง)
สำหรับวัตถุประสงค์ของการตั้งค่า "ตัวเลือกการปฏิเสธ" ของ daemon-config --partial-ผบ
ทำ ไม่ บ่งบอกถึง --บางส่วน. ทั้งนี้เพื่อให้การปฏิเสธของ --บางส่วน ตัวเลือกสามารถ
ใช้เพื่อไม่อนุญาตให้เขียนทับไฟล์ปลายทางด้วยการถ่ายโอนบางส่วน
ในขณะที่ยังคงให้สำนวนที่ปลอดภัยโดย --partial-ผบ.
--delay-update
ตัวเลือกนี้ทำให้ไฟล์ชั่วคราวจากไฟล์ที่อัพเดตแต่ละไฟล์อยู่ในไดเร็กทอรีการถือครอง
จนกว่าจะสิ้นสุดการโอน ซึ่งไฟล์ทั้งหมดจะถูกเปลี่ยนชื่อเข้าที่
ตามลำดับอย่างรวดเร็ว การดำเนินการนี้จะทำให้การอัปเดตไฟล์เพิ่มขึ้นอีกเล็กน้อย
อะตอม โดยค่าเริ่มต้น ไฟล์จะถูกวางลงในไดเร็กทอรีชื่อ ".~tmp~" ในแต่ละไฟล์
ไดเร็กทอรีปลายทางของไฟล์ แต่ถ้าคุณได้ระบุ --partial-ผบ ตัวเลือก
ไดเร็กทอรีนั้นจะถูกใช้แทน ดูความคิดเห็นใน --partial-ผบ ส่วน
สำหรับการอภิปรายว่า ".~tmp~" dir นี้จะถูกแยกออกจากการถ่ายโอนอย่างไรและ
สิ่งที่คุณสามารถทำได้หากคุณต้องการให้ rsync ล้างข้อมูลเก่า ".~tmp~" ที่อาจโกหก
รอบ ๆ. ขัดแย้งกับ --ในสถานที่ และ --ผนวก.
ตัวเลือกนี้ใช้หน่วยความจำด้านรับมากขึ้น (หนึ่งบิตต่อไฟล์ที่ถ่ายโอน)
และยังต้องการพื้นที่ว่างบนดิสก์เพียงพอที่ด้านรับเพื่อเก็บ
สำเนาเพิ่มเติมของไฟล์ที่อัปเดตทั้งหมด โปรดทราบว่าคุณไม่ควรใช้ an
เส้นทางสู่ --partial-ผบ เว้นแต่ (1) ไม่มีโอกาสของไฟล์ใด ๆ ใน
การถ่ายโอนที่มีชื่อเดียวกัน (เนื่องจากไฟล์ที่อัปเดตทั้งหมดจะถูกใส่ลงใน a
ไดเร็กทอรีเดียวถ้าพาธเป็นค่าสัมบูรณ์) และ (2) ไม่มีจุดต่อในไฟล์
ลำดับชั้น (เนื่องจากการอัปเดตที่ล่าช้าจะล้มเหลวหากไม่สามารถเปลี่ยนชื่อเป็น
สถานที่).
ดูเพิ่มเติมที่สคริปต์ Perl "atomic-rsync" ในส่วนย่อย "support" สำหรับการอัปเดต
อัลกอริธึมที่เป็นอะตอมมากขึ้น (มันใช้ --link-ปลายทาง และลำดับชั้นคู่ขนานของ
ไฟล์).
-NS, --prune-ว่าง-dirs
ตัวเลือกนี้บอกให้รับ rsync กำจัดไดเร็กทอรีว่างจาก
file-list รวมถึงไดเร็กทอรีที่ซ้อนกันที่ไม่มีไดเร็กทอรีย่อย นี้
มีประโยชน์เพื่อหลีกเลี่ยงการสร้างไดเร็กทอรีไร้ประโยชน์จำนวนมากเมื่อ
การส่ง rsync กำลังสแกนลำดับชั้นของไฟล์ซ้ำโดยใช้
รวม/ยกเว้น/กรองกฎ
โปรดทราบว่าการใช้กฎการโอนเช่น --min-ขนาด ตัวเลือกไม่ส่งผลกระทบ
สิ่งที่จะเข้าไปในรายการไฟล์ และไม่ปล่อยให้ไดเร็กทอรีว่าง แม้ว่า
ไม่มีไฟล์ใดในไดเร็กทอรีที่ตรงกับกฎการโอน
เนื่องจากรายการไฟล์กำลังถูกตัดแต่ง ตัวเลือกนี้จึงมีผลกับสิ่งที่
ไดเร็กทอรีจะถูกลบเมื่อมีการลบออก อย่างไรก็ตาม พึงระลึกไว้ว่า
ไฟล์และไดเร็กทอรีที่ยกเว้นสามารถป้องกันไม่ให้รายการที่มีอยู่ถูกลบเนื่องจาก
ไม่รวมทั้งการซ่อนไฟล์ต้นทางและการป้องกันไฟล์ปลายทาง ดู
ตัวเลือกกฎตัวกรองที่เน่าเสียง่ายสำหรับวิธีหลีกเลี่ยงสิ่งนี้
คุณสามารถป้องกันการตัดแต่งไดเร็กทอรีว่างจากรายการไฟล์โดย
โดยใช้ตัวกรอง "ป้องกัน" ทั่วโลก ตัวอย่างเช่น ตัวเลือกนี้จะช่วยให้แน่ใจว่า
ไดเรกทอรี "emptydir" ถูกเก็บไว้ในรายการไฟล์:
--filter 'ปกป้อง emptydir/'
นี่คือตัวอย่างที่คัดลอกไฟล์ .pdf ทั้งหมดในลำดับชั้น โดยสร้างเฉพาะไฟล์
ไดเร็กทอรีปลายทางที่จำเป็นในการเก็บไฟล์ .pdf และทำให้แน่ใจว่า
ไฟล์และไดเร็กทอรีฟุ่มเฟือยในปลายทางจะถูกลบออก (สังเกตที่hide
ตัวกรองที่ไม่ใช่ไดเรกทอรีที่ใช้แทนการยกเว้น):
rsync -avm --del --include='*.pdf' -f 'hide,! */' src/ ปลายทาง
หากคุณไม่ต้องการลบไฟล์ปลายทางฟุ่มเฟือย ยิ่งให้เกียรติเวลามากขึ้น
ตัวเลือกของ "--include='*/' --exclude='*'" จะทำงานได้ดีแทน
ตัวกรองซ่อน (ถ้าเป็นธรรมชาติสำหรับคุณ)
--ความคืบหน้า
ตัวเลือกนี้บอกให้ rsync พิมพ์ข้อมูลที่แสดงความคืบหน้าของการโอน
สิ่งนี้ทำให้ผู้ใช้เบื่อมีอะไรให้ดู ด้วย rsync ที่ทันสมัยสิ่งนี้ก็เหมือนกัน
ตามที่ระบุ --info=flist2,ชื่อ,ความคืบหน้าแต่การตั้งค่าใด ๆ ที่ผู้ใช้จัดหาให้
แฟล็กข้อมูลมีความสำคัญเหนือกว่า (เช่น "--info=flist0 --progress")
ในขณะที่ rsync กำลังถ่ายโอนไฟล์ปกติ มันจะอัพเดตบรรทัดความคืบหน้าที่มีลักษณะ
อย่างนี้:
782448 63% 110.64kB/วินาที 0:00:04
ในตัวอย่างนี้ ผู้รับได้สร้างใหม่ 782448 ไบต์หรือ 63% ของผู้ส่ง
ซึ่งกำลังถูกสร้างขึ้นใหม่ในอัตรา 110.64 กิโลไบต์ต่อวินาที และ
การโอนจะเสร็จสิ้นใน 4 วินาทีหากอัตราปัจจุบันยังคงอยู่จนถึง
ท้าย
สถิติเหล่านี้อาจทำให้เข้าใจผิดได้หากมีการใช้อัลกอริธึม delta-transfer ของ rsync
ตัวอย่างเช่น หากไฟล์ของผู้ส่งประกอบด้วยไฟล์พื้นฐานตามด้วยเพิ่มเติม
ข้อมูล อัตราที่รายงานอาจจะลดลงอย่างมากเมื่อผู้รับไปถึง
ข้อมูลตามตัวอักษรและการถ่ายโอนอาจใช้เวลานานกว่าจะเสร็จสิ้นกว่า
ผู้รับประมาณการเมื่อเสร็จสิ้นส่วนที่ตรงกันของไฟล์
เมื่อการถ่ายโอนไฟล์เสร็จสิ้น rsync จะแทนที่บรรทัดความคืบหน้าด้วยสรุป
เส้นที่มีลักษณะดังนี้:
1,238,099 100% 146.38kB/s 0:00:08 (xfr#5, to-chk=169/396)
ในตัวอย่างนี้ ไฟล์มีความยาวทั้งหมด 1,238,099 ไบต์ อัตราเฉลี่ยของ
การถ่ายโอนทั้งไฟล์เท่ากับ 146.38 กิโลไบต์ต่อวินาที ในช่วง 8 วินาทีนั้น
กว่าจะเสร็จเป็นการถ่ายโอนไฟล์ปกติครั้งที่ 5 ในช่วงปัจจุบัน
rsync session และมีอีก 169 ไฟล์ให้ผู้รับตรวจสอบ (เพื่อดูว่า
เป็นข้อมูลล่าสุดหรือไม่) เหลือจากไฟล์ทั้งหมด 396 ไฟล์ในรายการไฟล์
ในการสแกนซ้ำแบบเพิ่มหน่วย rsync จะไม่ทราบจำนวนไฟล์ทั้งหมดในไฟล์
file-list จนถึงจุดสิ้นสุดของการสแกน แต่เนื่องจากมันเริ่มถ่ายโอน
ไฟล์ระหว่างการสแกนจะแสดงบรรทัดที่มีข้อความ "ir-chk" (for
ตรวจสอบการเรียกซ้ำที่เพิ่มขึ้น) แทน "to-chk" จนถึงจุดที่รู้ว่า
ขนาดเต็มของรายการ จากนั้นจะเปลี่ยนไปใช้ "to-chk" ดังนั้น,
การเห็น "ir-chk" ทำให้คุณรู้ว่าจำนวนไฟล์ทั้งหมดในรายการไฟล์คือ
ยังคงเพิ่มขึ้นเรื่อยๆ (และทุกครั้งที่นับจำนวนไฟล์ที่เหลือให้ตรวจสอบ
จะเพิ่มขึ้นตามจำนวนไฟล์ที่เพิ่มลงในรายการ)
-P งานวิ่งการกุศล -P ตัวเลือกเทียบเท่ากับ --บางส่วน --ความคืบหน้า. จุดประสงค์คือทำให้
ง่ายกว่ามากในการระบุสองตัวเลือกนี้สำหรับการถ่ายโอนระยะยาวที่อาจ
ขัดจังหวะ.
นอกจากนี้ยังมี --info=ความคืบหน้า2 ตัวเลือกที่แสดงผลสถิติตามทั้งหมด
โอนย้าย มากกว่าแต่ละไฟล์ ใช้แฟล็กนี้โดยไม่มีเอาต์พุต a
ชื่อไฟล์ (เช่น หลีกเลี่ยง -v หรือระบุ --ข้อมูล=ชื่อ0 หากต้องการดูวิธีการโอน
กำลังทำโดยไม่ต้องเลื่อนหน้าจอที่มีชื่อมากมาย (คุณไม่จำเป็นต้อง
ระบุไฟล์ --ความคืบหน้า ทางเลือกในการใช้งาน --info=ความคืบหน้า2.)
--รหัสผ่านไฟล์=FILE
ตัวเลือกนี้อนุญาตให้คุณระบุรหัสผ่านสำหรับการเข้าถึง rsync daemon ผ่าน a
ไฟล์หรือผ่านอินพุตมาตรฐาน if ไฟล์ is -. ไฟล์ควรมีเพียงรหัสผ่าน
ในบรรทัดแรก (บรรทัดอื่น ๆ ทั้งหมดจะถูกละเว้น) Rsync จะออกพร้อมกับข้อผิดพลาด if
ไฟล์ สามารถอ่านได้ทั่วโลกหรือหากคำสั่ง root-run rsync พบไฟล์ที่ไม่ใช่ของ root
อ็อพชันนี้ไม่ได้ระบุรหัสผ่านสำหรับการขนส่งเชลล์ระยะไกล เช่น ssh; ถึง
เรียนรู้วิธีทำเช่นนั้น ศึกษาเอกสารประกอบของรีโมตเชลล์ เมื่อเข้าถึง an
rsync daemon โดยใช้รีโมตเชลล์เป็นการขนส่ง ตัวเลือกนี้จะมีให้เท่านั้น
ผลกระทบหลังจากรีโมตเชลล์เสร็จสิ้นการพิสูจน์ตัวตน (เช่น ถ้าคุณมี
ระบุรหัสผ่านในไฟล์ปรับแต่งของ daemon)
--รายการเท่านั้น
ตัวเลือกนี้จะทำให้ไฟล์ต้นฉบับแสดงแทนการโอนย้าย นี้
จะมีการอนุมานตัวเลือกหากมี arg ต้นทางเดียวและไม่ได้ระบุปลายทาง ดังนั้น
การใช้งานหลักคือ (1) เพื่อเปลี่ยนคำสั่ง copy ที่มี arg ปลายทางเป็น
คำสั่ง file-listing หรือ (2) เพื่อระบุแหล่ง arg . ได้มากกว่าหนึ่งแหล่ง
(หมายเหตุ: โปรดระบุปลายทางด้วย) ข้อควรระวัง: โปรดจำไว้ว่าแหล่งที่มา
arg ที่มี wild-card ถูกขยายโดยเชลล์เป็น args หลายอัน ดังนั้นจึงไม่มีทาง
ปลอดภัยที่จะลองแสดงรายการ arg ดังกล่าวโดยไม่ต้องใช้ตัวเลือกนี้ ตัวอย่างเช่น:
rsync -av --รายการเท่านั้น foo* dest/
เริ่มต้นด้วย rsync 3.1.0 ขนาดที่ส่งออกโดย --รายการเท่านั้น ได้รับผลกระทบจาก
--มนุษย์อ่านได้ ตัวเลือก. โดยค่าเริ่มต้นจะมีตัวคั่นหลัก แต่สูงกว่า
ระดับของความสามารถในการอ่านจะแสดงขนาดที่มีส่วนต่อท้ายหน่วย โปรดทราบว่า
ความกว้างของคอลัมน์สำหรับเอาต์พุตขนาดเพิ่มขึ้นจาก 11 เป็น 14 อักขระสำหรับทุกคน
ระดับที่มนุษย์อ่านได้ ใช้ --ไม่-h ถ้าคุณต้องการเพียงแค่ตัวเลขในขนาดและ
ความกว้างคอลัมน์เก่า 11 อักขระ
หมายเหตุความเข้ากันได้: เมื่อขอรายการไฟล์ระยะไกลจาก rsync นั้น
เป็นเวอร์ชัน 2.6.3 หรือเก่ากว่า คุณอาจพบข้อผิดพลาดหากคุณขอ a
รายชื่อแบบไม่เรียกซ้ำ นี่เป็นเพราะรายการไฟล์แสดงถึง --ผอ ตัวเลือก
w / o - บันทึกซ้ำและ rsyncs ที่เก่ากว่าไม่มีตัวเลือกนั้น เพื่อหลีกเลี่ยงปัญหานี้
หรือระบุ --no-dirs ตัวเลือก (หากคุณไม่ต้องการขยายไดเร็กทอรี's
เนื้อหา) หรือเปิดการเรียกซ้ำและยกเว้นเนื้อหาของไดเรกทอรีย่อย: -r
--exclude='/*/*'.
--bwlimit=อัตรา
ตัวเลือกนี้ช่วยให้คุณระบุอัตราการถ่ายโอนสูงสุดสำหรับข้อมูลที่ส่งผ่าน
ซ็อกเก็ตที่ระบุเป็นหน่วยต่อวินาที ค่า RATE สามารถต่อท้ายด้วย a
สตริงเพื่อระบุตัวคูณขนาด และอาจเป็นค่าเศษส่วน (เช่น
"--bwlimit=1.5ม") หากไม่มีการระบุส่วนต่อท้าย ค่าจะถือว่าอยู่ใน
หน่วย 1024 ไบต์ (ราวกับว่า "K" หรือ "KiB" ถูกต่อท้าย) ดู --max-ขนาด
ตัวเลือกสำหรับคำอธิบายของส่วนต่อท้ายที่มีอยู่ทั้งหมด ค่าศูนย์ระบุ
ไม่มีขีด จำกัด.
ด้วยเหตุผลด้านความเข้ากันได้แบบย้อนหลัง ขีดจำกัดอัตราจะถูกปัดเศษให้ใกล้เคียงที่สุด
หน่วย KiB ดังนั้นจึงไม่มีอัตราที่เล็กกว่า 1024 ไบต์ต่อวินาที
Rsync เขียนข้อมูลบนซ็อกเก็ตในบล็อก และตัวเลือกนี้จำกัดขนาด
ของบล็อกที่ rsync เขียนและพยายามรักษาอัตราการถ่ายโอนเฉลี่ยที่
ขีด จำกัด ที่ร้องขอ อาจเห็น "การระเบิด" บางอย่างโดยที่ rsync เขียนบล็อกของ
ข้อมูลแล้วเข้าสู่โหมดสลีปเพื่อให้อัตราเฉลี่ยเป็นไปตามข้อกำหนด
เนื่องจากการบัฟเฟอร์ภายในของข้อมูล --ความคืบหน้า ตัวเลือกอาจไม่ถูกต้อง
การสะท้อนความรวดเร็วในการส่งข้อมูล เนื่องจากไฟล์บางไฟล์สามารถแสดงได้
ขึ้นว่าถูกส่งอย่างรวดเร็วเมื่อข้อมูลถูกบัฟเฟอร์อย่างรวดเร็วในขณะที่ข้อมูลอื่นสามารถแสดงได้
ช้ามากเมื่อมีการล้างบัฟเฟอร์เอาต์พุต นี้อาจได้รับการแก้ไขใน
รุ่นในอนาคต
--write-batch=ไฟล์
บันทึกไฟล์ที่สามารถนำไปใช้กับปลายทางอื่นที่เหมือนกันได้ในภายหลังด้วย
--read-ชุด. ดูส่วน "โหมดแบทช์" สำหรับรายละเอียดและ
--only-เขียน-แบทช์ ตัวเลือก
--only-write-batch=ไฟล์
ทำงานเหมือน --write-ชุดยกเว้นว่าจะไม่มีการอัพเดทระบบปลายทาง
เมื่อสร้างแบทช์ สิ่งนี้ช่วยให้คุณขนส่งการเปลี่ยนแปลงไปยังปลายทาง
ระบบด้วยวิธีอื่นแล้วใช้การเปลี่ยนแปลงผ่าน --read-ชุด.
โปรดทราบว่าคุณสามารถเขียนแบทช์โดยตรงไปยังสื่อแบบพกพาบางตัวได้: if
สื่อนี้เติมเต็มความจุก่อนสิ้นสุดการโอนก็สมัครได้เลย
ที่โอนบางส่วนไปยังปลายทางและทำซ้ำขั้นตอนทั้งหมดที่จะได้รับ
การเปลี่ยนแปลงที่เหลือ (ตราบใดที่คุณไม่สนใจปลายทางที่อัปเดตบางส่วน
ระบบในขณะที่รอบการอัปเดตหลายรายการเกิดขึ้น)
โปรดทราบด้วยว่าคุณจะบันทึกแบนด์วิดธ์เมื่อกดการเปลี่ยนแปลงไปยังระบบระยะไกลเท่านั้น
เพราะสิ่งนี้ทำให้ข้อมูลแบทช์ถูกโอนจากผู้ส่งไปยังแบตช์
ไฟล์โดยไม่ต้องไหลผ่านลวดไปยังเครื่องรับ (เมื่อดึงผู้ส่ง
เป็นรีโมตจึงไม่สามารถเขียนแบทช์ได้)
--read-batch=ไฟล์
ใช้การเปลี่ยนแปลงทั้งหมดที่จัดเก็บไว้ใน FILE ซึ่งเป็นไฟล์ที่สร้างก่อนหน้านี้โดย
--write-ชุด. ถ้า ไฟล์ is -ข้อมูลแบทช์จะถูกอ่านจากอินพุตมาตรฐาน ดู
ในส่วน "BATCH MODE" สำหรับรายละเอียด
--โปรโตคอล=NUM
บังคับให้ใช้โปรโตคอลเวอร์ชันเก่า สิ่งนี้มีประโยชน์สำหรับการสร้างแบตช์
ไฟล์ที่เข้ากันได้กับ rsync รุ่นเก่ากว่า ตัวอย่างเช่น ถ้า rsync
2.6.4 กำลังถูกใช้กับ --write-ชุด ตัวเลือก แต่ rsync 2.6.3 คือสิ่งที่จะเป็น
เคยวิ่ง --read-ชุด ตัวเลือก คุณควรใช้ "--โปรโตคอล=28" เมื่อสร้าง
ไฟล์แบตช์เพื่อบังคับให้ใช้โปรโตคอลเวอร์ชันเก่าในไฟล์แบตช์
(สมมติว่าคุณไม่สามารถอัพเกรด rsync บนระบบการอ่านได้)
--iconv=CONVERT_SPEC
Rsync สามารถแปลงชื่อไฟล์ระหว่างชุดอักขระโดยใช้ตัวเลือกนี้ ใช้
CONVERT_SPEC ของ "." บอกให้ rsync ค้นหาชุดอักขระเริ่มต้นผ่าน locale
การตั้งค่า อีกวิธีหนึ่ง คุณสามารถระบุได้อย่างเต็มที่ว่าจะทำการแปลงใดโดยให้
local และชุดอักขระระยะไกลคั่นด้วยเครื่องหมายจุลภาคในลำดับ --iconv=ท้องถิ่น,ระยะไกล,
เช่น --iconv=utf8,iso88591. คำสั่งนี้ทำให้มั่นใจได้ว่าตัวเลือกจะเหมือนเดิม
ไม่ว่าคุณจะผลักหรือดึงไฟล์ สุดท้าย คุณสามารถระบุได้ทั้ง
--no-iconv หรือ CONVERT_SPEC ของ "-" เพื่อปิดการแปลงใดๆ ค่าเริ่มต้น
การตั้งค่าตัวเลือกนี้เป็นแบบเฉพาะไซต์ และอาจได้รับผลกระทบผ่านทาง
RSYNC_ICONV ตัวแปรสภาพแวดล้อม
สำหรับรายการชื่อชุดอักขระที่ไลบรารี iconv ในเครื่องของคุณรองรับ คุณสามารถเรียกใช้
"icv --list"
หากคุณระบุไฟล์ --ปกป้อง-args ตัวเลือก (-s) rsync จะแปลชื่อไฟล์
คุณระบุบนบรรทัดคำสั่งที่ถูกส่งไปยังรีโมตโฮสต์ ดูสิ่งนี้ด้วย
--files-จาก ตัวเลือก
โปรดทราบว่า rsync จะไม่ทำการแปลงชื่อในไฟล์ตัวกรอง (รวมถึง
รวม / ไม่รวมไฟล์) ขึ้นอยู่กับคุณที่จะระบุการจับคู่
กฎที่สามารถจับคู่ได้ทั้งสองด้านของการโอน ตัวอย่างเช่น คุณสามารถระบุ
กฎการรวม / ยกเว้นพิเศษหากมีความแตกต่างของชื่อไฟล์ทั้งสองด้านที่
จะต้องมีการบัญชีสำหรับ
เมื่อคุณผ่าน --iconv ตัวเลือกสำหรับ rsync daemon ที่อนุญาต daemon ใช้
ชุดอักขระที่ระบุในพารามิเตอร์การกำหนดค่า "ชุดอักขระ" โดยไม่คำนึงถึง
ชุดอักขระระยะไกลที่คุณผ่านจริง ดังนั้น คุณสามารถระบุเฉพาะ . ได้ตามสบาย
ชุดอักขระท้องถิ่นสำหรับการถ่ายโอนภูต (เช่น --iconv=utf8).
-4, --ipv4 or -6, --ipv6
บอก rsync ให้ชอบ IPv4/IPv6 เมื่อสร้างซ็อกเก็ต มีผลกับซ็อกเก็ตเท่านั้น
rsync นั้นควบคุมโดยตรงเช่นซ็อกเก็ตขาออกเมื่อโดยตรง
ติดต่อ rsync daemon ดูตัวเลือกเหล่านี้ใน --ภูต ส่วนโหมด
หากปฏิบัติตาม rsync โดยไม่รองรับ IPv6 ค่า --ipv6 ตัวเลือกจะไม่มี
ผลกระทบ --รุ่น ผลลัพธ์จะบอกคุณหากเป็นกรณีนี้
--checksum-seed=NUM
ตั้งค่าเมล็ดเช็คซัมเป็นจำนวนเต็ม NUM เมล็ดเช็คซัม 4 ไบต์นี้รวมอยู่ใน
แต่ละบล็อกและการคำนวณเช็คซัมไฟล์ MD4 (เช็คซัมไฟล์ MD5 ที่ทันสมัยกว่า)
ไม่ใช้เมล็ด) โดยค่าเริ่มต้น เมล็ดตรวจสอบจะถูกสร้างขึ้นโดยเซิร์ฟเวอร์และ
ค่าเริ่มต้น time() ปัจจุบัน ตัวเลือกนี้ใช้เพื่อตั้งค่าเช็คซัม .เฉพาะ
seed ซึ่งมีประโยชน์สำหรับการใช้งานที่ต้องการบล็อก checksums ที่ทำซ้ำได้หรือใน
กรณีที่ผู้ใช้ต้องการเมล็ดตรวจสอบสุ่มเพิ่มเติม การตั้งค่า NUM เป็น 0 สาเหตุ
rsync เพื่อใช้ค่าเริ่มต้นของ time() สำหรับเมล็ดตรวจสอบ
เดมอน OPTIONS
อ็อพชันที่อนุญาตเมื่อเริ่มต้น rsync daemon มีดังนี้:
--ภูต
สิ่งนี้บอก rsync ว่าจะรันเป็น daemon ภูตที่คุณเริ่มเรียกใช้พฤษภาคม
เข้าถึงได้โดยใช้ไคลเอนต์ rsync โดยใช้ โฮสต์::โมดูล or rsync://โฮสต์/โมดูล/
วากยสัมพันธ์
หากอินพุตมาตรฐานเป็นซ็อกเก็ต rsync จะถือว่ากำลังรันผ่าน
inetd มิฉะนั้น มันจะแยกออกจากเทอร์มินัลปัจจุบันและกลายเป็นพื้นหลัง
ภูต daemon จะอ่านไฟล์ปรับแต่ง (rsyncd.conf) ในแต่ละการเชื่อมต่อที่ทำโดย
ลูกค้าและตอบสนองต่อการร้องขอตามนั้น ดู rsyncd.conf(5) หน้าคนสำหรับ
รายละเอียดเพิ่มเติม.
--ที่อยู่
โดยค่าเริ่มต้น rsync จะผูกกับที่อยู่ตัวแทนเมื่อเรียกใช้เป็นภูตที่มี
--ภูต ตัวเลือก --ที่อยู่ ตัวเลือกช่วยให้คุณระบุที่อยู่ IP เฉพาะ
(หรือชื่อโฮสต์) ที่จะผูกกับ สิ่งนี้ทำให้การโฮสต์เสมือนเป็นไปได้ร่วมกับ
--การกำหนดค่า ตัวเลือก. ดูเพิ่มเติมที่ตัวเลือกส่วนกลาง "ที่อยู่" ใน rsyncd.conf
หน้าเพจ
--bwlimit=อัตรา
ตัวเลือกนี้อนุญาตให้คุณระบุอัตราการถ่ายโอนสูงสุดสำหรับข้อมูลที่ daemon
ส่งผ่านซ็อกเก็ต ลูกค้ายังสามารถระบุขนาดเล็กกว่า --bwlimit ค่า แต่
ไม่อนุญาตให้ใช้ค่าที่มากกว่า ดูเวอร์ชันไคลเอ็นต์ของตัวเลือกนี้ (ด้านบน) สำหรับ
รายละเอียดเพิ่มเติมบางอย่าง
--config=ไฟล์
ระบุไฟล์กำหนดค่าอื่นที่ไม่ใช่ค่าเริ่มต้น สิ่งนี้มีความเกี่ยวข้องเท่านั้น
เมื่อ --ภูต ระบุไว้ ค่าเริ่มต้นคือ /etc/rsyncd.conf เว้นแต่ภูตคือ
การรันโปรแกรมรีโมตเชลล์และผู้ใช้ระยะไกลไม่ใช่ผู้ใช้ขั้นสูง ใน
กรณีนั้นค่าเริ่มต้นคือ rsyncd.conf ในไดเร็กทอรีปัจจุบัน (โดยทั่วไปคือ $HOME)
-NS, --dparam=โอเวอร์ไรด์
ตัวเลือกนี้สามารถใช้เพื่อตั้งค่าพารามิเตอร์ daemon-config เมื่อเริ่มต้น rsync in
โหมดภูต เทียบเท่ากับการเพิ่มพารามิเตอร์ที่ส่วนท้ายของ global
การตั้งค่าก่อนคำจำกัดความของโมดูลแรก ชื่อพารามิเตอร์สามารถเป็น
ระบุโดยไม่มีช่องว่างหากคุณต้องการ ตัวอย่างเช่น:
rsync --daemon -M pidfile=/path/rsync.pid
--ไม่ถอด
เมื่อรันเป็น daemon อ็อพชันนี้จะสั่งให้ rsync ไม่แยกตัวเองออกและ
กลายเป็นกระบวนการเบื้องหลัง ตัวเลือกนี้จำเป็นเมื่อใช้งานเป็นบริการบน
Cygwin และอาจมีประโยชน์เมื่อ rsync ดูแลโดยโปรแกรมเช่น
ภูตเครื่องมือ หรือ AIX's System ทรัพยากร ตัวควบคุม. --ไม่ถอด ยังแนะนำ
เมื่อ rsync ทำงานภายใต้ดีบักเกอร์ ตัวเลือกนี้ไม่มีผลหากเรียกใช้ rsync จาก
inetd หรือ sshd
--port=พอร์ต
ระบุหมายเลขพอร์ต TCP สำรองเพื่อให้ daemon รับฟังแทน
ค่าเริ่มต้นของ 873 โปรดดูตัวเลือกส่วนกลาง "พอร์ต" ใน manpage rsyncd.conf
--log-file=ไฟล์
ตัวเลือกนี้บอกให้ rsync daemon ใช้ชื่อล็อกไฟล์ที่กำหนดแทนการใช้
การตั้งค่า "ไฟล์บันทึก" ในไฟล์ปรับแต่ง
--log-file-format=รูปแบบ
ตัวเลือกนี้บอกให้ rsync daemon ใช้สตริง FORMAT ที่กำหนดแทนการใช้
การตั้งค่า "รูปแบบบันทึก" ในไฟล์ปรับแต่ง นอกจากนี้ยังเปิดใช้งาน "การบันทึกการถ่ายโอน"
เว้นแต่สตริงจะว่างเปล่า ซึ่งในกรณีนี้ การบันทึกการถ่ายโอนจะถูกปิด
--sockopts
สิ่งนี้จะแทนที่ เบ้า ตัวเลือก การตั้งค่าในไฟล์ rsyncd.conf และมีเหมือนกัน
วากยสัมพันธ์
-ใน, --รายละเอียด
อ็อพชันนี้จะเพิ่มจำนวนข้อมูลที่ daemon บันทึกระหว่างการเริ่มทำงาน
เฟส. หลังจากที่ไคลเอนต์เชื่อมต่อ ระดับการใช้คำฟุ่มเฟือยของ daemon จะถูกควบคุม
โดยตัวเลือกที่ไคลเอ็นต์ใช้และการตั้งค่า "max verbosity" ในโมดูลของ
ส่วนกำหนดค่า
-4, --ipv4 or -6, --ipv6
บอก rsync ให้ชอบ IPv4/IPv6 เมื่อสร้างซ็อกเก็ตขาเข้าที่rsync
daemon จะใช้เพื่อฟังการเชื่อมต่อ อาจต้องใช้หนึ่งในตัวเลือกเหล่านี้ใน
Linux เวอร์ชันเก่าเพื่อแก้ไขจุดบกพร่อง IPv6 ในเคอร์เนล (หากคุณเห็น an
ข้อผิดพลาด "มีการใช้งานอยู่แล้ว" เมื่อไม่มีอุปกรณ์อื่นใดกำลังใช้พอร์ตอยู่ ให้ลองระบุ
--ipv6 or --ipv4 เมื่อเริ่มต้นภูต)
หากปฏิบัติตาม rsync โดยไม่รองรับ IPv6 ค่า --ipv6 ตัวเลือกจะไม่มี
ผลกระทบ --รุ่น ผลลัพธ์จะบอกคุณหากเป็นกรณีนี้
-ชม, --ช่วยด้วย
เมื่อระบุภายหลัง --ภูต, พิมพ์หน้าความช่วยเหลือสั้น ๆ ที่อธิบายตัวเลือก
พร้อมใช้งานสำหรับการเริ่มต้น rsync daemon
FILTER กฎ
กฎการกรองช่วยให้สามารถเลือกไฟล์ที่จะถ่ายโอน (รวม) และ . ได้อย่างยืดหยุ่น
ไฟล์ใดที่จะข้าม (ไม่รวม) กฎระบุโดยตรงรวมถึง/ไม่รวมรูปแบบ
หรือระบุวิธีที่จะได้รับรูปแบบรวม/ยกเว้นเพิ่มเติม (เช่น อ่านจาก a
แฟ้ม)
เนื่องจากรายการไฟล์/ไดเร็กทอรีที่จะถ่ายโอนถูกสร้างขึ้น rsync จะตรวจสอบแต่ละชื่อให้เป็น
โอนกับรายการรูปแบบการรวม/ไม่รวมและการจับคู่ครั้งแรก
รูปแบบถูกดำเนินการ: หากเป็นรูปแบบที่ยกเว้น ไฟล์นั้นจะถูกข้ามไป ถ้ามันเป็น
รวมรูปแบบแล้วชื่อไฟล์นั้นจะไม่ถูกข้าม หากไม่พบรูปแบบที่ตรงกัน แสดงว่า
ชื่อไฟล์จะไม่ถูกข้าม
Rsync สร้างรายการลำดับของกฎการกรองตามที่ระบุในบรรทัดคำสั่ง กรอง
กฎมีไวยากรณ์ต่อไปนี้:
กฎ [PATTERN_OR_FILENAME]
กฎ MODIFIERS [PATTERN_OR_FILENAME]
คุณมีตัวเลือกในการใช้ชื่อกฎแบบสั้นหรือแบบยาวตามที่อธิบายไว้ด้านล่าง ถ้าคุณ
ใช้กฎที่มีชื่อสั้น ',' การแยก RULE ออกจาก MODIFIERS เป็นทางเลือก ดิ
PATTERN หรือ FILENAME ที่ตามมา (เมื่อมี) จะต้องอยู่หลังช่องว่างเดียวหรือ
ขีดล่าง (_) นี่คือคำนำหน้ากฎที่ใช้ได้:
ไม่รวม, - ระบุรูปแบบการยกเว้น
รวม, + ระบุรูปแบบการรวม
ผสาน, . ระบุการรวมไฟล์เพื่ออ่านกฎเพิ่มเติม
dir-ผสาน : ระบุไฟล์การผสานต่อไดเร็กทอรี
ซ่อน H ระบุรูปแบบการซ่อนไฟล์จากการถ่ายโอน
แสดง, S ไฟล์ที่ตรงกับรูปแบบจะไม่ถูกซ่อน
ปกป้อง, P ระบุรูปแบบสำหรับการป้องกันไฟล์จากการถูกลบ
ความเสี่ยง R ไฟล์ที่ตรงกับรูปแบบจะไม่ได้รับการป้องกัน
ชัดเจน, ! ล้างรายการรวม / ไม่รวมปัจจุบัน (ไม่ต้องหาเรื่อง)
เมื่อมีการอ่านกฎจากไฟล์ บรรทัดว่างจะถูกละเว้น เช่นเดียวกับบรรทัดความคิดเห็นที่
เริ่มด้วย "#"
โปรดทราบว่า --รวม/--ไม่รวม ตัวเลือกบรรทัดคำสั่งไม่อนุญาตให้ใช้กฎทั้งหมด
การแยกวิเคราะห์ตามที่อธิบายไว้ข้างต้น - อนุญาตเฉพาะข้อกำหนดของ include/exclude
รูปแบบบวกกับ "!" โทเค็นเพื่อล้างรายการ (และความคิดเห็นปกติแยกวิเคราะห์เมื่อกฎเป็น
อ่านจากไฟล์) หากรูปแบบไม่ได้ขึ้นต้นด้วย "-" (ขีดกลาง เว้นวรรค) หรือ "+" (บวก
ช่องว่าง) จากนั้นกฎจะถูกตีความว่า "+ " (สำหรับตัวเลือกการรวม) หรือ "- " (สำหรับ
ตัวเลือกการยกเว้น) ถูกนำหน้าไปยังสตริง อา --กรอง ทางเลือกในทางกลับกัน
ต้องมีชื่อกฎสั้นหรือยาวเสมอที่จุดเริ่มต้นของกฎ
โปรดทราบว่า --กรอง, --รวมและ --ไม่รวม ตัวเลือกใช้หนึ่งกฎ/รูปแบบแต่ละรายการ
หากต้องการเพิ่มหลายรายการ คุณสามารถทำซ้ำตัวเลือกบนบรรทัดคำสั่ง ใช้ merge-file
วากยสัมพันธ์ของ --กรอง ตัวเลือกหรือ --รวม-จาก/--exclude-จาก ตัวเลือก
รวม/ยกเว้น รูปแบบ กฎ
คุณสามารถรวมและแยกไฟล์โดยระบุรูปแบบโดยใช้ตัวกรอง "+", "-" ฯลฯ
กฎ (ตามที่แนะนำในส่วนกฎของตัวกรองด้านบน) รวม/ไม่รวมกฎแต่ละ
ระบุรูปแบบที่ตรงกับชื่อของไฟล์ที่จะเป็น
โอนแล้ว. รูปแบบเหล่านี้สามารถมีได้หลายรูปแบบ:
o หากรูปแบบขึ้นต้นด้วย a / แล้วยึดกับจุดใดจุดหนึ่งใน
ลำดับชั้นของไฟล์ มิฉะนั้น จะจับคู่กับส่วนท้ายของชื่อพาธ นี้
คล้ายกับนำหน้า ^ ในนิพจน์ทั่วไป ดังนั้น "/foo" จะตรงกับชื่อ
ของ "foo" ที่ "รากของการโอน" (สำหรับกฎสากล) หรือใน
ไดเร็กทอรีของ merge-file (สำหรับกฎสำหรับแต่ละไดเร็กทอรี) "foo" ที่ไม่มีเงื่อนไขจะ
จับคู่ชื่อ "foo" ที่ใดก็ได้ในทรีเพราะมีการใช้อัลกอริทึม
ซ้ำจากบนลงล่าง; มันทำงานราวกับว่าแต่ละองค์ประกอบพา ธ ได้รับการเลี้ยวที่
เป็นจุดสิ้นสุดของชื่อไฟล์ แม้แต่ "sub/foo" ที่ไม่มีการผูกมัดก็ยังจับคู่กันได้
ชี้ไปที่ลำดับชั้นที่พบ "foo" ในไดเร็กทอรีชื่อ "sub" ดู
ส่วนเกี่ยวกับ ANCHORING INCLUDE/EXCLUDE PATTERNs สำหรับการอภิปรายเต็มรูปแบบเกี่ยวกับวิธีการ
ระบุรูปแบบที่ตรงกันที่รูทของการโอน
o หากรูปแบบลงท้ายด้วย a / มันจะจับคู่กับไดเร็กทอรีเท่านั้น ไม่ใช่ Regular
ไฟล์ symlink หรืออุปกรณ์
o rsync เลือกระหว่างการจับคู่สตริงอย่างง่ายกับการจับคู่ไวด์การ์ดโดยการตรวจสอบ
หากรูปแบบมีอักขระตัวแทนหนึ่งในสามเหล่านี้: '*', '?' และ '['
oa '*' ตรงกับองค์ประกอบพาธใดๆ แต่จะหยุดที่เครื่องหมายทับ
o ใช้ '**' เพื่อจับคู่อะไรก็ได้ รวมถึงเครื่องหมายทับ
โอ๊ะ '?' ตรงกับอักขระใดๆ ยกเว้นเครื่องหมายทับ (/)
oa '[' แนะนำคลาสอักขระ เช่น [az] หรือ [[:alpha:]]
o ในรูปแบบไวด์การ์ด แบ็กสแลชสามารถใช้เพื่อหนีอักขระไวด์การ์ดได้ แต่
มันถูกจับคู่อย่างแท้จริงเมื่อไม่มีสัญลักษณ์แทนอยู่ ซึ่งหมายความว่ามี
การลบแบ็กสแลชในระดับพิเศษเมื่อรูปแบบมีอักขระตัวแทน
เทียบกับแบบที่ไม่มี เช่น หากคุณเพิ่มไวด์การ์ดใน "foo\bar"
(ซึ่งตรงกับแบ็กสแลช) คุณจะต้องใช้ "foo\\bar*" เพื่อหลีกเลี่ยง "\b"
กลายเป็นเพียง "b"
o หากรูปแบบมี / (ไม่นับต่อท้าย /) หรือ "**" แสดงว่าเป็น
ตรงกับชื่อพาธแบบเต็ม รวมถึงไดเร็กทอรีชั้นนำใดๆ ถ้า
รูปแบบไม่มี / หรือ "**" ดังนั้นจึงจับคู่กับรอบชิงชนะเลิศเท่านั้น
ส่วนประกอบของชื่อไฟล์ (จำไว้ว่าอัลกอริธึมถูกใช้ซ้ำๆ ดังนั้น
"ชื่อไฟล์เต็ม" สามารถเป็นส่วนใดก็ได้ของเส้นทางจากไดเรกทอรีเริ่มต้น
ลง)
oa ต่อท้าย "dir_name/***" จะจับคู่ทั้งไดเร็กทอรี (ราวกับว่า "dir_name/" เคยเป็น
ที่ระบุ) และทุกอย่างในไดเร็กทอรี (ราวกับว่า "dir_name/**" เคยเป็น
ระบุไว้) ลักษณะการทำงานนี้ถูกเพิ่มเข้ามาในเวอร์ชัน 2.6.7
โปรดทราบว่าเมื่อใช้ - บันทึกซ้ำ (-r) ตัวเลือก (ซึ่งโดยนัยโดย -a), ทั้งหมด
ส่วนประกอบย่อยของทุกเส้นทางถูกเยี่ยมชมจากบนลงล่าง ดังนั้นรวม/ยกเว้นรูปแบบ get
ใช้ซ้ำกับชื่อเต็มขององค์ประกอบย่อยแต่ละรายการ (เช่น รวม "/foo/bar/baz"
ต้องไม่ยกเว้นองค์ประกอบย่อย "/foo" และ "/foo/bar") รูปแบบการยกเว้นจริงๆ
ลัดวงจรสเตจการข้ามผ่านไดเร็กทอรีเมื่อ rsync พบไฟล์ที่จะส่ง ถ้า
pattern ไม่รวมพาเรนต์ไดเร็กทอรีโดยเฉพาะ มันสามารถแสดงผลรวม pattern ที่ลึกกว่าได้
ไม่ได้ผลเพราะ rsync ไม่ได้ลงมาผ่านส่วนที่ยกเว้นของลำดับชั้น
สิ่งนี้สำคัญอย่างยิ่งเมื่อใช้กฎ '*' ต่อท้าย ตัวอย่างเช่น สิ่งนี้จะไม่
งาน:
+ /some/path/this-file-will-not-be-found
+ / ไฟล์รวมอยู่ด้วย
-
สิ่งนี้ล้มเหลวเนื่องจากไดเรกทอรีหลัก "บาง" ถูกยกเว้นโดยกฎ '*' ดังนั้น rsync never
เยี่ยมชมไฟล์ใด ๆ ในไดเร็กทอรี "some" หรือ "some/path" ทางออกหนึ่งคือถาม
สำหรับไดเรกทอรีทั้งหมดในลำดับชั้นที่จะรวมโดยใช้กฎเดียว: "+ */" (ใส่มัน
ที่ไหนสักแห่งก่อนกฎ "- *") และอาจใช้ --prune-ว่าง-dirs ตัวเลือก. อื่น
วิธีแก้ไขคือการเพิ่มกฎการรวมเฉพาะสำหรับพาเรนต์ dirs ทั้งหมดที่จำเป็นต้องเยี่ยมชม
ตัวอย่างเช่น กฎชุดนี้จะทำงานได้ดี:
+ /บางส่วน/
+ /บางส่วน/เส้นทาง/
+ /some/path/this-file-is-found
+ / ไฟล์ยังรวมอยู่ด้วย
-
ต่อไปนี้คือตัวอย่างบางส่วนของการจับคู่ที่ยกเว้น/รวม:
o "- *.o" จะไม่รวมชื่อทั้งหมดที่ตรงกัน *.o
o "- /foo" จะไม่รวมไฟล์ (หรือไดเร็กทอรี) ชื่อ foo ใน transfer-root
ไดเรกทอรี
o "- foo/" จะไม่รวมไดเร็กทอรีที่ชื่อ foo
o "- /foo/*/bar" จะไม่รวมไฟล์ใดๆ ที่ชื่อ bar ซึ่งอยู่ต่ำกว่า a . สองระดับ
ไดเร็กทอรีชื่อ foo ในไดเร็กทอรี root-transfer
o "- /foo/**/bar" จะไม่รวมไฟล์ใดๆ ที่ชื่อ bar สองระดับขึ้นไปที่ต่ำกว่า a
ไดเร็กทอรีชื่อ foo ในไดเร็กทอรี root-transfer
o การรวมกันของ "+ */", "+ *.c" และ "- *" จะรวมไดเร็กทอรีทั้งหมดและ C
ไฟล์ต้นฉบับ แต่ไม่มีอะไรอื่น (ดูเพิ่มเติมที่ --prune-ว่าง-dirs ตัวเลือก)
o การรวมกันของ "+ foo/", "+ foo/bar.c" และ "- *" จะรวมเฉพาะ foo
ไดเร็กทอรีและ foo/bar.c (ต้องรวมไดเร็กทอรี foo ไว้อย่างชัดเจน ไม่เช่นนั้นจะ
ถูกยกเว้นโดย "*")
ตัวดัดแปลงต่อไปนี้สามารถใช้ได้หลังจาก "+" หรือ "-":
o อา / ระบุว่ากฎรวม/ยกเว้นควรจับคู่กับค่าสัมบูรณ์
ชื่อพาธของรายการปัจจุบัน ตัวอย่างเช่น, "-/ / etc / passwd" จะไม่รวม
passwd ทุกครั้งที่การโอนส่งไฟล์จาก "/ ฯลฯ" ไดเรกทอรีและ
"-/ subdir/foo" จะไม่รวม "foo" เสมอเมื่ออยู่ใน dir ชื่อ "subdir" แม้กระทั่ง
ถ้า "foo" อยู่ที่รูทของการโอนปัจจุบัน
o อา ! ระบุว่าการรวม/ยกเว้นควรมีผลหากรูปแบบล้มเหลวถึง
การแข่งขัน. ตัวอย่างเช่น "-! */" จะยกเว้นทั้งหมดที่ไม่ใช่ไดเรกทอรี
o อา C ใช้เพื่อระบุว่ากฎ CVS-exclude ทั่วโลกควรแทรกเป็น
ไม่รวมแทนที่ "-C" ไม่มีการโต้แย้งใดควรปฏิบัติตาม
o อัน s ใช้เพื่อระบุว่ากฎนี้ใช้กับฝ่ายส่ง เมื่อกฎเกณฑ์
ส่งผลกระทบต่อฝั่งส่ง ป้องกันไม่ให้ไฟล์ถูกถ่ายโอน ค่าเริ่มต้นคือ
เพื่อให้กฎกระทบทั้งสองฝ่าย เว้นแต่ --ลบ-ไม่รวม ได้ระบุไว้ซึ่ง
กฎเริ่มต้นของกรณีและปัญหาจะกลายเป็นฝั่งผู้ส่งเท่านั้น ดูเพิ่มเติมที่ซ่อน (H) และการแสดง (S)
กฎ ซึ่งเป็นอีกวิธีหนึ่งในการระบุการรวม/ยกเว้นฝั่งส่ง
o อัน r ใช้เพื่อระบุว่ากฎใช้กับฝ่ายรับ เมื่อกฎเกณฑ์
มีผลกับฝั่งผู้รับ ป้องกันไม่ให้ไฟล์ถูกลบ ดู s
ตัวแก้ไขสำหรับข้อมูลเพิ่มเติม ดูกฎการป้องกัน (P) และความเสี่ยง (R) ซึ่งได้แก่ an
วิธีอื่นในการระบุรวมถึง/ไม่รวมฝั่งผู้รับ
o อา p แสดงว่ากฎนั้นเน่าเสียง่าย หมายความว่ากฎนั้นถูกละเว้นในไดเรกทอรี
ที่กำลังถูกลบ ตัวอย่างเช่น -C กฎเริ่มต้นของตัวเลือกที่ไม่รวม
สิ่งต่างๆ เช่น "CVS" และ "*.o" จะถูกทำเครื่องหมายว่าเน่าเสียง่าย และจะไม่ป้องกัน a
ไดเร็กทอรีที่ถูกลบบนต้นทางจากการถูกลบบนปลายทาง
ผสานไฟล์ FILTER กฎ
คุณสามารถรวมไฟล์ทั้งหมดเข้าในกฎการกรองของคุณโดยระบุการรวม (.) หรือ a
dir-merge (:) กฎตัวกรอง (ตามที่แนะนำในส่วนกฎของตัวกรองด้านบน)
ไฟล์ที่ผสานมีสองประเภท -- อินสแตนซ์เดียว ('.') และต่อไดเรกทอรี (':') อา
ไฟล์การรวมอินสแตนซ์เดียวถูกอ่านครั้งเดียว และรวมกฎของไฟล์รวมไว้ในไฟล์
รายการตัวกรองแทนที่ "." กฎ. สำหรับไฟล์ผสานต่อไดเร็กทอรี rsync จะสแกน
ทุกไดเร็กทอรีที่มันสำรวจสำหรับไฟล์ที่มีชื่อ, รวมเนื้อหาเมื่อไฟล์
มีอยู่ในรายการกฎที่สืบทอดมาในปัจจุบัน ไฟล์กฎต่อไดเร็กทอรีเหล่านี้ต้องเป็น
สร้างขึ้นที่ฝั่งผู้ส่งเพราะเป็นฝ่ายส่งที่กำลังสแกนหา
ไฟล์ที่สามารถโอนได้ ไฟล์กฎเหล่านี้อาจต้องถ่ายโอนไปยัง
ฝั่งรับ หากคุณต้องการให้มีผลกับไฟล์ที่ไม่ถูกลบ (ดู PER-DIRECTORY
กฎและการลบด้านล่าง)
ตัวอย่างบางส่วน:
ผสาน /etc/rsync/default.rules
- /etc/rsync/default.rules
dir-merge .per-dir-กรอง
dir-merge,n- .non-inherited-ต่อ-dir-ไม่รวม
:n- .non-inherited-per-dir-ไม่รวม
ตัวดัดแปลงต่อไปนี้สามารถใช้ได้หลังจากกฎการผสานหรือการรวม:
o อา - ระบุว่าไฟล์ควรประกอบด้วยเฉพาะรูปแบบที่แยกออกเท่านั้น
การแยกวิเคราะห์กฎยกเว้นความคิดเห็นในไฟล์
o อา + ระบุว่าไฟล์ควรประกอบด้วยเฉพาะรูปแบบเท่านั้นไม่มีอื่น ๆ
การแยกวิเคราะห์กฎยกเว้นความคิดเห็นในไฟล์
o อา C เป็นวิธีระบุว่าไฟล์ควรอ่านในลักษณะที่เข้ากันได้กับ CVS
สิ่งนี้จะเปิด 'n', 'w' และ '-' แต่ยังช่วยให้โทเค็นการล้างรายการ (!) เป็น
ระบุไว้ หากไม่มีการระบุชื่อไฟล์ ระบบจะถือว่า ".cvsignore"
o อา e จะไม่รวมชื่อไฟล์ผสานจากการถ่ายโอน เช่น "dir-merge,e .rules"
เป็นเหมือน "dir-merge .rules" และ "- .rules"
o อัน n ระบุว่ากฎไม่ได้รับการสืบทอดโดยไดเร็กทอรีย่อย
o อา w ระบุว่ากฎแยกคำบนช่องว่างแทนที่จะเป็นปกติ
การแยกบรรทัด นอกจากนี้ยังปิดความคิดเห็น หมายเหตุ: ช่องว่างที่คั่น
คำนำหน้าจากกฎได้รับการปฏิบัติเป็นพิเศษ ดังนั้น "- foo + bar" จึงแยกวิเคราะห์เป็นสองกฎ
(สมมติว่าไม่ได้ปิดใช้งานการแยกวิเคราะห์คำนำหน้าด้วย)
o คุณยังสามารถระบุตัวแก้ไขใด ๆ สำหรับกฎ "+" หรือ "-" (ด้านบน) ตามลำดับ
เพื่อให้มีกฎที่อ่านจากค่าเริ่มต้นของไฟล์ถึงมีตัวแก้ไขนั้น
ชุด (ยกเว้น the ! ตัวดัดแปลงซึ่งจะไม่เป็นประโยชน์) ตัวอย่างเช่น
"merge,-/ .excl" จะถือว่าเนื้อหาของ .excl เป็นการลบแบบสัมบูรณ์ในขณะที่
"dir-merge,s .filt" และ ":sC" แต่ละรายการจะบังคับใช้กฎต่อไดเรกทอรีทั้งหมด
เฉพาะด้านส่ง หากกฎการรวมระบุด้านที่จะส่งผลกระทบ (ผ่านทาง s
or r ตัวดัดแปลงหรือทั้งสองอย่าง) ดังนั้นกฎในไฟล์จะต้องไม่ระบุด้าน (ผ่าน a
ตัวแก้ไขหรือคำนำหน้ากฎเช่น ซ่อน).
กฎต่อไดเร็กทอรีจะสืบทอดในไดเร็กทอรีย่อยทั้งหมดของไดเร็กทอรีที่
พบไฟล์ผสานเว้นแต่จะใช้ตัวแก้ไข 'n' กฎของไดเรกทอรีย่อยแต่ละรายการคือ
นำหน้ากฎต่อไดเร็กทอรีที่สืบทอดมาจากพาเรนต์ ซึ่งให้ค่าใหม่ล่าสุด
กฎที่มีลำดับความสำคัญสูงกว่ากฎที่สืบทอดมา กฎการผสานทั้งชุดคือ
จัดกลุ่มไว้ด้วยกันตรงจุดที่ระบุการรวมไฟล์ จึงสามารถ
แทนที่กฎ dir-merge ผ่านกฎที่กำหนดไว้ก่อนหน้านี้ในรายการ global
กฎ. เมื่อกฎการล้างรายการ ("!") ถูกอ่านจากไฟล์ต่อไดเร็กทอรี มันเท่านั้น
ล้างกฎที่สืบทอดมาสำหรับไฟล์ผสานปัจจุบัน
อีกวิธีหนึ่งในการป้องกันกฎเดียวจากไฟล์ dir-merge จากการสืบทอดคือto
ทอดสมอด้วยสแลชชั้นนำ กฎที่ยึดในไฟล์ผสานต่อไดเร็กทอรีนั้นสัมพันธ์กัน
ไปยังไดเร็กทอรีของไฟล์ผสาน ดังนั้นรูปแบบ "/foo" จะจับคู่เฉพาะไฟล์ "foo" ใน
ไดเร็กทอรีที่พบไฟล์ตัวกรอง dir-merge
นี่คือตัวอย่างไฟล์ตัวกรองที่คุณต้องการระบุผ่าน --filter=". ไฟล์":
ผสาน /home/user/.global-filter
- *.gz
dir-ผสาน .rules
+ *.[ช]
- *.o
สิ่งนี้จะรวมเนื้อหาของไฟล์ /home/user/.global-filter ที่จุดเริ่มต้นของ
รายการและยังเปลี่ยนชื่อไฟล์ ".rules" เป็นไฟล์ตัวกรองต่อไดเรกทอรี กฎทั้งหมด
อ่านก่อนเริ่มการสแกนไดเร็กทอรี ให้ปฏิบัติตามกฎการยึดทั่วโลก (เช่น a
แมตช์สแลชชั้นนำที่รูทของการโอน)
หากมีการระบุไฟล์การผสานต่อไดเร็กทอรีด้วยพาธที่เป็นไดเร็กทอรีพาเรนต์ของ
ไดเร็กทอรีการถ่ายโอนแรก rsync จะสแกนพาเรนต์ dirs ทั้งหมดจากจุดเริ่มต้นนั้นไปยัง
ไดเร็กทอรีการถ่ายโอนสำหรับไฟล์ต่อไดเร็กทอรีที่ระบุ ตัวอย่างเช่น นี่คือ
ตัวกรองทั่วไป (ดู -F):
--filter=': /.rsync-filter'
กฎนั้นบอกให้ rsync สแกนหาไฟล์ .rsync-filter ในไดเร็กทอรีทั้งหมดจาก root
ลงผ่านไดเร็กทอรีหลักของการถ่ายโอนก่อนที่จะเริ่มต้นปกติ
การสแกนไดเร็กทอรีของไฟล์ในไดเร็กทอรีที่ส่งโดยเป็นส่วนหนึ่งของการถ่ายโอน
(หมายเหตุ: สำหรับ rsync daemon รูทจะเหมือนกับ "พาธ" ของโมดูลเสมอ)
ตัวอย่างบางส่วนของการสแกนล่วงหน้าสำหรับไฟล์ต่อไดเร็กทอรี:
rsync -avF /src/path/ /dest/dir
rsync -av --filter=': ../../.rsync-filter' /src/path/ /dest/dir
rsync -av --filter=': .rsync-filter' /src/path/ /dest/dir
สองคำสั่งแรกข้างต้นจะมองหา ".rsync-filter" ใน "/" และ "/src" ก่อน
การสแกนปกติจะเริ่มค้นหาไฟล์ใน "/src/path" และไดเรกทอรีย่อย สุดท้าย
คำสั่งหลีกเลี่ยงการสแกน parent-dir และค้นหาเฉพาะไฟล์ ".rsync-filter" ในแต่ละไฟล์
ไดเร็กทอรีที่เป็นส่วนหนึ่งของการถ่ายโอน
หากคุณต้องการรวมเนื้อหาของ ".cvsignore" ในรูปแบบของคุณ คุณควรใช้
กฎ ":C" ซึ่งสร้าง dir-merge ของไฟล์ .cvsignore แต่แยกวิเคราะห์เป็น
ลักษณะที่เข้ากันได้กับ CVS คุณสามารถใช้สิ่งนี้เพื่อส่งผลต่อตำแหน่งที่ --cvs-ไม่รวม (-C) ตัวเลือก
การรวมไฟล์ .cvsignore ต่อไดเร็กทอรีเข้าไว้ในกฎของคุณโดยใส่
":C" ทุกที่ที่คุณต้องการในกฎตัวกรองของคุณ หากไม่มีสิ่งนี้ rsync จะเพิ่ม dir-merge
กฎสำหรับไฟล์ .cvsignore ต่อท้ายกฎอื่นๆ ทั้งหมดของคุณ (ให้ค่าที่ต่ำกว่า
ลำดับความสำคัญมากกว่ากฎบรรทัดคำสั่งของคุณ) ตัวอย่างเช่น:
แมว <
+ ฟู.โอ
:C
- *.เก่า
EOT
rsync -avC --include=foo.o -f :C --exclude='*.old' a/ b
คำสั่ง rsync ทั้งสองคำสั่งข้างต้นเหมือนกัน แต่ละคนจะรวมทั้งหมดต่อไดเรกทอรี
กฎ .cvsignore อยู่ตรงกลางของรายการแทนที่จะอยู่ท้ายรายการ สิ่งนี้ทำให้
dir-specific rule เพื่อแทนที่กฎที่เป็นไปตาม :C แทนที่จะเป็น subservient
ตามกฎทั้งหมดของคุณ เพื่อส่งผลต่อกฎการยกเว้น CVS อื่นๆ (เช่น รายการเริ่มต้นของ
การยกเว้น เนื้อหาของ $HOME/.cvsignore และค่าของ $CVSIGNORE) ที่คุณควรละเว้น
-C ตัวเลือกบรรทัดคำสั่งและแทรกกฎ "-C" ลงในกฎตัวกรองของคุณ เช่น
"--ตัวกรอง=-ค".
รายการล้าง FILTER กติกาข้อที่
คุณสามารถล้างรายการรวม/ยกเว้นปัจจุบันได้โดยใช้ปุ่ม "!" กฎตัวกรอง (ตามที่แนะนำ
ในส่วนกฎของตัวกรองด้านบน) รายการ "ปัจจุบัน" เป็นรายการกฎส่วนกลางอย่างใดอย่างหนึ่ง
(หากพบกฎขณะแยกวิเคราะห์ตัวเลือกตัวกรอง) หรือชุดของต่อไดเรกทอรี
กฎ (ซึ่งสืบทอดในรายการย่อยของตนเอง ดังนั้นไดเรกทอรีย่อยสามารถใช้สิ่งนี้เพื่อล้าง
ตามกฎของผู้ปกครอง)
ทอดสมอ รวม/ยกเว้น รูปแบบ
ดังที่กล่าวไว้ก่อนหน้านี้ รูปแบบการรวม/ยกเว้นทั่วโลกจะถูกยึดที่ "รากของ
โอน" (ตรงข้ามกับรูปแบบต่อไดเร็กทอรี ซึ่งถูกยึดที่ไฟล์ผสาน
ไดเร็กทอรี) หากคิดว่าการโอนเป็นทรีย่อยของชื่อที่ส่งมาจาก
ผู้ส่งถึงผู้รับ root การโอนคือที่ที่ต้นไม้เริ่มทำซ้ำใน
ไดเรกทอรีปลายทาง รูทนี้ควบคุมรูปแบบที่ขึ้นต้นด้วย / ตรงกัน
เนื่องจากการจับคู่สัมพันธ์กับ root การโอน การเปลี่ยนเครื่องหมายทับบน a
เส้นทางต้นทางหรือเปลี่ยนการใช้งานของคุณ --ญาติ ตัวเลือกส่งผลต่อเส้นทางที่คุณต้องการใช้
ในการจับคู่ของคุณ (นอกเหนือจากการเปลี่ยนจำนวนไฟล์ที่ซ้ำกันบนไฟล์
โฮสต์ปลายทาง) ตัวอย่างต่อไปนี้แสดงให้เห็นสิ่งนี้
สมมติว่าเราต้องการจับคู่ไฟล์ต้นฉบับสองไฟล์ ไฟล์หนึ่งมีพาธสัมบูรณ์ของ
"/home/me/foo/bar" และอีกอันที่มีเส้นทาง "/home/you/bar/baz" นี่คือวิธีต่างๆ
ตัวเลือกคำสั่งต่างกันสำหรับการถ่ายโอนแบบ 2 แหล่ง:
ตัวอย่าง cmd: rsync -a /home/me /home/you /dest
+/- รูปแบบ: /me/foo/bar
+/- รูปแบบ: /you/bar/baz
ไฟล์เป้าหมาย: /dest/me/foo/bar
ไฟล์เป้าหมาย: /dest/you/bar/baz
ตัวอย่าง cmd: rsync -a /home/me/ /home/you/ /dest
+/- รูปแบบ: /foo/bar (ไม่มี "ฉัน")
+/- รูปแบบ: /bar/baz (ไม่มี "คุณ")
ไฟล์เป้าหมาย: /dest/foo/bar
ไฟล์เป้าหมาย: /dest/bar/baz
ตัวอย่าง cmd: rsync -a --relative /home/me/ /home/you /dest
+/- รูปแบบ: /home/me/foo/bar (หมายเหตุเส้นทางแบบเต็ม)
+/- รูปแบบ: /home/you/bar/baz (เหมือนกัน)
ไฟล์เป้าหมาย: /dest/home/me/foo/bar
ไฟล์เป้าหมาย: /dest/home/you/bar/baz
ตัวอย่าง cmd: cd / หน้าแรก; rsync -a --relative ฉัน/foo คุณ/ /dest
+/- รูปแบบ: /me/foo/bar (เริ่มต้นที่เส้นทางที่ระบุ)
+/- รูปแบบ: /you/bar/baz (เหมือนกัน)
ไฟล์เป้าหมาย: /dest/me/foo/bar
ไฟล์เป้าหมาย: /dest/you/bar/baz
วิธีที่ง่ายที่สุดในการดูว่าคุณควรกรองชื่ออะไรคือดูผลลัพธ์เมื่อ
การใช้ --รายละเอียด และใส่ / นำหน้าชื่อ (ใช้ the --ดรายรัน ตัวเลือกถ้าคุณไม่ได้
แต่พร้อมที่จะคัดลอกไฟล์ใด ๆ )
ต่อไดเรกทอรี กฎ AND ลบ
หากไม่มีตัวเลือกการลบ กฎสำหรับแต่ละไดเร็กทอรีจะมีความเกี่ยวข้องเฉพาะในด้านการส่ง ดังนั้นคุณ
คุณสามารถแยกไฟล์ที่ผสานด้วยตัวเองโดยไม่กระทบต่อการถ่ายโอน ถึง
ทำให้มันง่าย ตัวแก้ไข 'e' จะเพิ่มสิ่งนี้ให้คุณ ดังที่เห็นในสองสิ่งนี้
คำสั่งที่เทียบเท่า:
rsync -av --filter=': .excl' --exclude=.excl host:src/dir /dest
rsync -av --filter=':e .excl' โฮสต์:src/dir /dest
อย่างไรก็ตาม หากคุณต้องการลบที่ฝั่งผู้รับ และคุณต้องการให้ไฟล์บางไฟล์เป็น
แยกออกจากการลบ คุณจะต้องแน่ใจว่าฝ่ายรับรู้ว่าอะไร
ไฟล์ที่จะยกเว้น วิธีที่ง่ายที่สุดคือการรวมไฟล์การผสานต่อไดเร็กทอรีใน
โอนและใช้งาน --ลบหลังเพราะสิ่งนี้ทำให้มั่นใจได้ว่าฝ่ายรับจะได้รับ
แยกกฎเดียวกันกับฝั่งส่งก่อนที่จะพยายามลบอะไร:
rsync -avF --ลบหลังโฮสต์:src/dir /dest
อย่างไรก็ตาม หากไฟล์ที่ผสานไม่ได้เป็นส่วนหนึ่งของการโอน คุณจะต้องระบุ
กฎการยกเว้นส่วนกลางบางกฎ (เช่น ระบุไว้ในบรรทัดคำสั่ง) หรือคุณจะต้องรักษา
ไฟล์ผสานต่อไดเร็กทอรีของคุณเองที่ฝั่งรับ ตัวอย่างแรกคือสิ่งนี้
(สมมติว่าไฟล์ .rules ระยะไกลไม่รวมตัวเอง):
rsync -av --filter=': .rules' --filter=' /my/extra.rules'
--ลบโฮสต์:src/dir /dest
ในตัวอย่างข้างต้น ไฟล์ extra.rules อาจส่งผลต่อการถ่ายโอนทั้งสองด้าน แต่ (on
ฝ่ายส่ง) กฎจะยอมจำนนต่อกฎที่ผสานจาก .rules files
เนื่องจากมีการระบุหลังจากกฎการรวมสำหรับแต่ละไดเร็กทอรี
ในตัวอย่างสุดท้าย ฝั่งระยะไกลจะไม่รวมไฟล์ .rsync-filter จากไฟล์
ถ่ายโอน แต่เราต้องการใช้ไฟล์ .rsync-filter ของเราเองเพื่อควบคุมสิ่งที่จะถูกลบบน
ด้านรับ. ในการดำเนินการนี้ เราต้องแยกไฟล์การผสานต่อไดเร็กทอรีโดยเฉพาะ
(เพื่อไม่ให้ถูกลบ) แล้วใส่กฎลงในไฟล์ในเครื่องเพื่อควบคุมสิ่งที่
อย่างอื่นไม่ควรถูกลบ เช่นเดียวกับหนึ่งในคำสั่งเหล่านี้:
rsync -av --filter=':e /.rsync-filter' --delete \
โฮสต์:src/dir /dest
rsync -avFF --ลบโฮสต์:src/dir /dest
แบทช์ โหมด
โหมดแบทช์สามารถใช้เพื่อใช้ชุดการอัปเดตเดียวกันกับระบบที่เหมือนกันหลายระบบ สมมติ
หนึ่งมีต้นไม้ซึ่งจำลองแบบในหลายโฮสต์ ตอนนี้สมมติว่ามีการเปลี่ยนแปลงบางอย่าง
ได้ทำกับแผนผังต้นทางนี้แล้ว และการเปลี่ยนแปลงเหล่านั้นจำเป็นต้องเผยแพร่ไปยังโฮสต์อื่นๆ
ในการดำเนินการนี้โดยใช้โหมดแบตช์ rsync จะถูกรันด้วยตัวเลือก write-batch เพื่อนำไปใช้
การเปลี่ยนแปลงที่ทำกับทรีต้นทางเป็นทรีปลายทาง การเขียนแบทช์
ตัวเลือกทำให้ไคลเอนต์ rsync เก็บไว้ใน "ไฟล์แบตช์" ข้อมูลทั้งหมดที่จำเป็นในการ
ทำซ้ำการดำเนินการนี้กับต้นไม้ปลายทางอื่นที่เหมือนกัน
การสร้างแบตช์ไฟล์เมื่อบันทึกไม่ต้องดำเนินการสถานะไฟล์ ตรวจสอบและ data
บล็อกการสร้างมากกว่าหนึ่งครั้งเมื่ออัปเดตต้นไม้ปลายทางหลายรายการ มัลติคาสต์
โปรโตคอลการขนส่งสามารถใช้เพื่อถ่ายโอนไฟล์อัพเดตแบบกลุ่มขนานกับหลายไฟล์
โฮสต์พร้อมกัน แทนที่จะส่งข้อมูลเดียวกันไปยังทุกโฮสต์ทีละรายการ
หากต้องการใช้การเปลี่ยนแปลงที่บันทึกไว้กับทรีปลายทางอื่น ให้เรียกใช้ rsync ด้วย read-batch
ตัวเลือก ระบุชื่อของแบตช์ไฟล์เดียวกันและทรีปลายทาง Rsync
อัปเดตทรีปลายทางโดยใช้ข้อมูลที่จัดเก็บไว้ในแบตช์ไฟล์
เพื่อความสะดวกของคุณ ไฟล์สคริปต์จะถูกสร้างขึ้นด้วยเมื่อใช้ตัวเลือกชุดการเขียน:
จะมีชื่อเหมือนกับไฟล์แบตช์ที่มี ".sh" ต่อท้าย ไฟล์สคริปต์นี้
มีบรรทัดคำสั่งที่เหมาะสมสำหรับการอัพเดททรีปลายทางโดยใช้ที่เกี่ยวข้อง
ไฟล์ชุด. สามารถดำเนินการได้โดยใช้เชลล์บอร์น (หรือคล้ายบอร์น) หรือไม่ก็ได้ผ่าน
ในชื่อพาธต้นไม้ปลายทางอื่นซึ่งใช้แทนชื่อเดิม
เส้นทางปลายทาง สิ่งนี้มีประโยชน์เมื่อเส้นทางต้นไม้ปลายทางบนโฮสต์ปัจจุบัน
แตกต่างจากที่ใช้สร้างแบตช์ไฟล์
ตัวอย่าง:
$ rsync --write-batch=foo -a โฮสต์:/source/dir/ /adest/dir/
$ scp foo* รีโมท:
$ ssh รีโมท ./foo.sh /bdest/dir/
$ rsync --write-batch=foo -a /source/dir/ /adest/dir/
$ ssh rsync ระยะไกล --read-batch=- -a /bdest/dir/
ในตัวอย่างเหล่านี้ rsync ใช้เพื่ออัปเดต /adest/dir/ จาก /source/dir/ และ the
ข้อมูลที่จะทำซ้ำการดำเนินการนี้จะถูกเก็บไว้ใน "foo" และ "foo.sh" โฮสต์ "ระยะไกล"
จะถูกอัพเดตด้วยข้อมูลแบบแบตช์เข้าไปในไดเร็กทอรี /bdest/dir ดิ
ความแตกต่างระหว่างสองตัวอย่างเผยให้เห็นถึงความยืดหยุ่นบางอย่างที่คุณมีในวิธีการของคุณ
จัดการกับแบทช์:
o ตัวอย่างแรกแสดงให้เห็นว่าสำเนาเริ่มต้นไม่จำเป็นต้องอยู่ในเครื่อง - คุณสามารถ
พุชหรือดึงข้อมูลไปยัง/จากรีโมตโฮสต์โดยใช้ไวยากรณ์รีโมตเชลล์หรือ
ไวยากรณ์ rsync daemon ตามต้องการ
o ตัวอย่างแรกใช้ไฟล์ "foo.sh" ที่สร้างขึ้นเพื่อรับตัวเลือก rsync ที่ถูกต้อง
เมื่อรันคำสั่ง read-batch บนรีโมตโฮสต์
o ตัวอย่างที่สองอ่านข้อมูลแบทช์ผ่านอินพุตมาตรฐานเพื่อให้แบตช์ไฟล์
ไม่จำเป็นต้องคัดลอกไปยังเครื่องระยะไกลก่อน ตัวอย่างนี้หลีกเลี่ยง
สคริปต์ foo.sh เพราะจำเป็นต้องใช้การดัดแปลง --read-ชุด ตัวเลือก แต่คุณ
สามารถแก้ไขไฟล์สคริปต์ได้หากต้องการใช้งาน (ต้องแน่ใจว่าไม่มี
ตัวเลือกอื่นกำลังพยายามใช้อินพุตมาตรฐาน เช่น "--exclude-จาก=-"
ตัวเลือก)
คำเตือน:
ตัวเลือก read-batch คาดว่าทรีปลายทางที่กำลังอัปเดตจะเหมือนกับ
ต้นไม้ปลายทางที่ใช้สร้างชุดไฟล์อัพเดตแบบแบตช์ เมื่อมีความแตกต่าง
ระหว่างต้นไม้ปลายทางพบการอัปเดตอาจถูกละทิ้งพร้อมคำเตือน
(หากไฟล์ดูเหมือนเป็นปัจจุบันแล้ว) หรืออาจพยายามปรับปรุงไฟล์และ
จากนั้น หากไฟล์ไม่สามารถตรวจสอบได้ การอัปเดตจะถูกยกเลิกโดยมีข้อผิดพลาด นี่หมายความว่ามัน
ควรจะปลอดภัยในการรันการดำเนินการ read-batch อีกครั้งหากคำสั่งถูกขัดจังหวะ ถ้าคุณ
ต้องการบังคับให้พยายามอัปเดตแบบแบตช์เสมอโดยไม่คำนึงถึงขนาดของไฟล์และ
วันที่ ใช้ -I ตัวเลือก (เมื่ออ่านชุดงาน) หากเกิดข้อผิดพลาด ปลายทาง
ต้นไม้อาจจะอยู่ในสถานะปรับปรุงบางส่วน ในกรณีนั้น rsync สามารถใช้ใน
โหมดการทำงานปกติ (ไม่ใช่แบทช์) เพื่อแก้ไขทรีปลายทาง
เวอร์ชัน rsync ที่ใช้กับปลายทางทั้งหมดต้องเป็นเวอร์ชันใหม่เป็นอย่างน้อย
สร้างไฟล์แบตช์ Rsync จะตายพร้อมกับข้อผิดพลาดหากเวอร์ชันโปรโตคอลใน
ไฟล์แบตช์นั้นใหม่เกินกว่าที่ rsync การอ่านแบตช์จะจัดการได้ ดูเพิ่มเติมที่ --มาตรการ
ตัวเลือกสำหรับวิธีการสร้าง rsync สร้างไฟล์แบตช์ที่ rsync รุ่นเก่าสามารถทำได้
เข้าใจ. (โปรดทราบว่าไฟล์แบตช์เปลี่ยนรูปแบบในเวอร์ชัน 2.6.3 ดังนั้นเวอร์ชันผสม
รุ่นเก่ากว่านั้นกับรุ่นใหม่กว่าจะไม่ทำงาน)
เมื่ออ่านไฟล์แบตช์ rsync จะบังคับค่าของตัวเลือกบางตัวให้ตรงกับข้อมูล
ในแบตช์ไฟล์ หากคุณไม่ได้ตั้งค่าให้เหมือนกับคำสั่งเขียนแบตช์ อื่น
ตัวเลือกสามารถ (และควร) เปลี่ยนแปลงได้ ตัวอย่างเช่น --write-ชุด เปลี่ยนเป็น --read-ชุด,
--files-จาก ลดลงและ --กรอง/--รวม/--ไม่รวม ไม่จำเป็นต้องมีตัวเลือก
เว้นแต่หนึ่งใน --ลบ มีการระบุตัวเลือก
โค้ดที่สร้างไฟล์ BATCH.sh จะแปลงตัวเลือกตัวกรอง/รวม/ยกเว้นเป็น
รายการเดียวที่ต่อท้ายเป็นเอกสาร "ที่นี่" ในไฟล์เชลล์สคริปต์ ขั้นสูง
ผู้ใช้สามารถใช้สิ่งนี้เพื่อแก้ไขรายการแยกหากมีการเปลี่ยนแปลงในสิ่งที่ถูกลบโดย --ลบ
เป็นที่ต้องการ ผู้ใช้ทั่วไปสามารถละเว้นรายละเอียดนี้และใช้เชลล์สคริปต์เป็น easy
วิธีการวิ่งที่เหมาะสม --read-ชุด คำสั่งสำหรับข้อมูลแบทช์
โหมดแบตช์ดั้งเดิมใน rsync นั้นใช้ "rsync+" แต่เวอร์ชันล่าสุดใช้ new
การดำเนินงาน
สัญลักษณ์ ลิงค์
พฤติกรรมพื้นฐานสามประการเป็นไปได้เมื่อ rsync พบลิงก์สัญลักษณ์ในแหล่งที่มา
ไดเรกทอรี
ตามค่าเริ่มต้น ลิงก์สัญลักษณ์จะไม่ถูกถ่ายโอนเลย ข้อความ "ข้ามไม่ปกติ"
ไฟล์ถูกส่งสำหรับ symlink ที่มีอยู่
If --ลิงค์ ถูกระบุ จากนั้น symlink จะถูกสร้างขึ้นใหม่โดยมีเป้าหมายเดียวกันบน
ปลายทาง. สังเกตว่า --คลังเก็บเอกสารสำคัญ หมายถึง --ลิงค์.
If --คัดลอกลิงค์ ถูกระบุ จากนั้น symlink จะ "ยุบ" โดยการคัดลอกผู้อ้างอิง
มากกว่า symlink
Rsync ยังสามารถแยกแยะลิงก์สัญลักษณ์ "ปลอดภัย" และ "ไม่ปลอดภัย" ได้ ตัวอย่างที่ this
อาจถูกใช้เป็นมิเรอร์ของเว็บไซต์ที่ต้องการให้แน่ใจว่าโมดูล rsync นั้นคือ
คัดลอกไม่รวมลิงก์สัญลักษณ์ไปยัง / etc / passwd ในส่วนสาธารณะของไซต์
การใช้ --คัดลอกลิงก์ที่ไม่ปลอดภัย จะทำให้คัดลอกลิงก์ใด ๆ เป็นไฟล์ที่ชี้ไปที่
ปลายทาง โดยใช้ --safe-ลิงค์ จะทำให้ลิงก์ที่ไม่ปลอดภัยถูกละเว้นโดยสิ้นเชิง
(โปรดทราบว่าคุณต้องระบุ --ลิงค์ for --safe-ลิงค์ ให้มีผลใดๆ)
ลิงก์สัญลักษณ์จะถือว่าไม่ปลอดภัยหากเป็นลิงก์เชื่อมโยงแบบสัมบูรณ์ (เริ่มต้นด้วย /), ว่างเปล่า,
หรือหากมีส่วนประกอบ ".." เพียงพอที่จะขึ้นจากไดเร็กทอรีที่กำลังคัดลอก
ต่อไปนี้คือข้อมูลสรุปวิธีการตีความตัวเลือกลิงก์เชื่อมโยง รายชื่อเรียงตามลำดับ
ลำดับความสำคัญ ดังนั้นหากไม่มีการกล่าวถึงชุดค่าผสมของตัวเลือก ให้ใช้บรรทัดแรกที่คือ
เซ็ตย่อยทั้งหมดของตัวเลือกของคุณ:
--คัดลอกลิงค์
เปลี่ยน symlink ทั้งหมดให้เป็นไฟล์ปกติ (ไม่ทิ้ง symlink สำหรับตัวเลือกอื่น ๆ ให้
ส่งผลกระทบ).
--ลิงค์ --คัดลอกลิงก์ที่ไม่ปลอดภัย
เปลี่ยน symlink ที่ไม่ปลอดภัยทั้งหมดให้เป็นไฟล์และทำซ้ำ symlink ที่ปลอดภัยทั้งหมด
--คัดลอกลิงก์ที่ไม่ปลอดภัย
เปลี่ยน symlink ที่ไม่ปลอดภัยทั้งหมดให้เป็นไฟล์ ข้าม symlink ที่ปลอดภัยทั้งหมดอย่างมีเสียงดัง
--ลิงค์ --safe-ลิงค์
คัดลอกลิงก์ที่ปลอดภัยและข้ามลิงก์ที่ไม่ปลอดภัย
--ลิงค์
คัดลอกลิงก์ทั้งหมด
วินิจฉัย
rsync บางครั้งสร้างข้อความแสดงข้อผิดพลาดที่อาจดูเหมือนคลุมเครือเล็กน้อย หนึ่งที่
ดูเหมือนว่าจะทำให้เกิดความสับสนมากที่สุดคือ "เวอร์ชันโปรโตคอลไม่ตรงกัน -- เชลล์ของคุณสะอาดหรือไม่"
ข้อความนี้มักเกิดจากสคริปต์เริ่มต้นของคุณหรือสิ่งอำนวยความสะดวกของเชลล์ระยะไกลที่ผลิต
ขยะที่ไม่ต้องการบนสตรีมที่ rsync ใช้สำหรับการขนส่ง วิธีการวินิจฉัย
ปัญหานี้คือการเรียกใช้รีโมตเชลล์ของคุณดังนี้:
ssh รีโมตโฮสต์ /bin/จริง > out.dat
แล้วดูที่ out.dat หากทุกอย่างถูกต้อง out.dat ควรจะเป็นศูนย์
ไฟล์ความยาว หากคุณได้รับข้อผิดพลาดข้างต้นจาก rsync คุณอาจจะพบ
out.dat นั้นประกอบด้วยข้อความหรือข้อมูลบางส่วน ดูเนื้อหาแล้วลองคิดดูว่าคืออะไร
ผลิตมัน สาเหตุที่พบบ่อยที่สุดคือการกำหนดค่าสคริปต์เริ่มต้นเชลล์ไม่ถูกต้อง (เช่น
เป็น .cshrc หรือ .profile) ที่มีคำสั่งเอาต์พุตสำหรับการเข้าสู่ระบบที่ไม่ใช่แบบโต้ตอบ
หากคุณประสบปัญหาในการดีบักรูปแบบตัวกรอง ให้ลองระบุ -vv ตัวเลือก
ที่ระดับการใช้คำฟุ่มเฟือยนี้ rsync จะแสดงว่าทำไมแต่ละไฟล์ถึงถูกรวมหรือ
ได้รับการยกเว้น
EXIT VALUES
0 ความสำเร็จ
1 ข้อผิดพลาดทางไวยากรณ์หรือการใช้งาน
2 ความไม่ลงรอยกันของโปรโตคอล
3 เกิดข้อผิดพลาดในการเลือกไฟล์อินพุต/เอาต์พุต dirs
4 ไม่รองรับการดำเนินการที่ร้องขอ: มีความพยายามในการจัดการไฟล์ 64 บิตบน a
แพลตฟอร์มที่ไม่สามารถรองรับได้ หรือตัวเลือกที่ระบุที่รองรับโดย
ไคลเอนต์และไม่ใช่โดยเซิร์ฟเวอร์
5 เกิดข้อผิดพลาดในการเริ่มโปรโตคอลไคลเอ็นต์-เซิร์ฟเวอร์
6 Daemon ไม่สามารถต่อท้ายไฟล์บันทึกได้
10 เกิดข้อผิดพลาดในซ็อกเก็ต I/O
11 เกิดข้อผิดพลาดในไฟล์ I/O
12 เกิดข้อผิดพลาดในสตรีมข้อมูลโปรโตคอล rsync
13 ข้อผิดพลาดเกี่ยวกับการวินิจฉัยโปรแกรม
14 ข้อผิดพลาดในรหัส IPC
20 ได้รับ SIGUSR1 หรือ SIGINT
21 ข้อผิดพลาดบางอย่างส่งคืนโดย waitpid()
22 เกิดข้อผิดพลาดในการจัดสรรบัฟเฟอร์หน่วยความจำหลัก
23 การโอนบางส่วนเนื่องจากข้อผิดพลาด
24 การถ่ายโอนบางส่วนเนื่องจากไฟล์ต้นฉบับหายไป
25 ขีด จำกัด --max-delete หยุดการลบ
30 หมดเวลาในการส่ง/รับข้อมูล
35 หมดเวลารอการเชื่อมต่อภูต
และพวกเรา ตัวแปร
CVSIGNORE
ตัวแปรสภาพแวดล้อม CVSIGNORE เสริมรูปแบบการละเว้นใน .cvsignore
ไฟล์. ดู --cvs-ไม่รวม ตัวเลือกสำหรับรายละเอียดเพิ่มเติม
RSYNC_ICONV
ระบุค่าเริ่มต้น --iconv การตั้งค่าโดยใช้ตัวแปรสภาพแวดล้อมนี้ (รองรับครั้งแรก
ใน 3.0.0)
RSYNC_PROTECT_ARGS
ระบุค่าตัวเลขที่ไม่ใช่ศูนย์หากคุณต้องการ --ปกป้อง-args ตัวเลือกที่จะ
เปิดใช้งานโดยค่าเริ่มต้นหรือค่าศูนย์เพื่อให้แน่ใจว่าถูกปิดใช้งานโดยค่าเริ่มต้น
(รองรับครั้งแรกใน 3.1.0.)
RSYNC_RSH
ตัวแปรสภาพแวดล้อม RSYNC_RSH อนุญาตให้คุณแทนที่เชลล์เริ่มต้นที่ใช้เป็น
การขนส่งสำหรับ rsync ตัวเลือกบรรทัดคำสั่งได้รับอนุญาตหลังจากคำสั่ง
ชื่อเช่นเดียวกับใน -e ตัวเลือก
RSYNC_PROXY
ตัวแปรสภาพแวดล้อม RSYNC_PROXY อนุญาตให้คุณเปลี่ยนเส้นทางไคลเอนต์ rsync ของคุณไปที่
ใช้เว็บพรอกซีเมื่อเชื่อมต่อกับ rsync daemon คุณควรตั้งค่า RSYNC_PROXY เป็น a
ชื่อโฮสต์:พอร์ตคู่
RSYNC_รหัสผ่าน
การตั้งค่า RSYNC_PASSWORD เป็นรหัสผ่านที่จำเป็นทำให้คุณสามารถเรียกใช้การตรวจสอบสิทธิ์ได้
การเชื่อมต่อ rsync กับ rsync daemon โดยที่ผู้ใช้ไม่ต้องดำเนินการใดๆ โปรดทราบว่าสิ่งนี้ไม่
ไม่ระบุรหัสผ่านสำหรับการขนส่งเชลล์ระยะไกลเช่น ssh; เรียนรู้วิธีการทำ
ให้ศึกษาเอกสารของรีโมตเชลล์
USER or ชื่อล็อก
ตัวแปรสภาพแวดล้อม USER หรือ LOGNAME ใช้เพื่อกำหนดค่าเริ่มต้น
ชื่อผู้ใช้ที่ส่งไปยัง rsync daemon หากไม่ได้ตั้งค่าไว้ ชื่อผู้ใช้จะมีค่าเริ่มต้นเป็น
"ไม่มีใคร".
หน้าหลัก ตัวแปรสภาพแวดล้อม HOME ใช้เพื่อค้นหาไฟล์ .cvsignore เริ่มต้นของผู้ใช้
ใช้ rsync ออนไลน์โดยใช้บริการ onworks.net