นี่คือคำสั่ง bup-split ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
bup-split - บันทึกแต่ละไฟล์ไปยัง bup backup sets
เรื่องย่อ
bup แยก [-t] [-c] [-n ชื่อ] COMMON_OPTIONS
bup แยก -b COMMON_OPTIONS
bup แยก <--noop [--copy]|--copy> COMMON_OPTIONS
COMMON_OPTIONS
[-NS เจ้าภาพ:เส้นทาง] [-v] [-q] [-ง วินาทีตั้งแต่ยุค] [--ม้านั่ง] [--max-pack-size=ไบต์]
[-#] [--bwlimit=ไบต์] [--สูงสุดแพ็ค-วัตถุ=n] [--แฟนเอาท์=นับ] [--รักษาขอบเขต]
[--git-id | ชื่อไฟล์...]
DESCRIPTION
bup split เชื่อมเนื้อหาของไฟล์ที่กำหนด (หรือหากไม่มีชื่อไฟล์
อ่านจาก stdin) แบ่งเนื้อหาออกเป็นชิ้น ๆ ประมาณ 8k โดยใช้การตรวจสอบแบบกลิ้ง
อัลกอริธึมและบันทึกส่วนต่างๆ ลงในที่เก็บ bup ลูกชิ้นที่เคยทำมาแล้ว
ที่เก็บไว้จะไม่ถูกเก็บไว้อีก (เช่น พวกเขาจะ 'ซ้ำกัน')
เนื่องจากวิธีการทำงานของ checksum ที่กลิ้งไปมา ชิ้นส่วนต่างๆ มีแนวโน้มที่จะเสถียรมากทั่วทั้ง
การเปลี่ยนแปลงในไฟล์ที่กำหนด รวมถึงการเพิ่ม การลบ และการเปลี่ยนไบต์
ตัวอย่างเช่น หากคุณใช้ bup split เพื่อสำรองข้อมูลดัมพ์ XML ของฐานข้อมูล และไฟล์ XML
การเปลี่ยนแปลงเล็กน้อยจากการรันหนึ่งครั้ง ข้อมูลเกือบทั้งหมดจะยังคงถูกขจัดความซ้ำซ้อน
และขนาดของการสำรองข้อมูลแต่ละครั้งหลังจากครั้งแรกมักจะค่อนข้างเล็ก
อีกเทคนิคหนึ่งคือการไปป์เอาท์พุตของ น้ำมันดิน(1) หรือ cpio(1) โปรแกรมที่จะแตกแยก
เมื่อไฟล์แต่ละไฟล์ใน tarball เปลี่ยนแปลงเล็กน้อยหรือถูกเพิ่มหรือลบออก bup still
ประมวลผลส่วนที่เหลือของ tarball อย่างมีประสิทธิภาพ (โปรดทราบว่า bup save มักจะเป็น more
วิธีที่มีประสิทธิภาพในการทำสิ่งนี้ให้สำเร็จ)
ในการรับข้อมูลคืน ให้ใช้ เข้าร่วม(1)
โหมด
ตัวเลือกเหล่านี้เลือกลักษณะการทำงานหลักของคำสั่ง โดยที่ -n มีแนวโน้มมากที่สุด
ทางเลือก
-NS, --ชื่อ=ชื่อ
หลังจากสร้างชุดข้อมูลแล้ว ให้สร้างสาขา git ชื่อ ชื่อ เพื่อที่จะได้
เข้าถึงโดยใช้ชื่อนั้น ถ้า ชื่อ มีอยู่แล้ว ชุดข้อมูลใหม่จะเป็น
ถือว่าเป็นทายาทของเฒ่า ชื่อ. (ดังนั้น คุณสามารถสร้างใหม่ได้อย่างต่อเนื่อง
ชุดข้อมูลที่มีชื่อเดียวกัน แล้วดูประวัติของชุดข้อมูลนั้นในภายหลังเพื่อดูวิธีการ
มันเปลี่ยนไปตามกาลเวลา) ข้อมูลเดิมจะยังใช้ได้ในระดับบนสุด
ไฟล์ชื่อ "data" ใน VFS สามารถเข้าถึงได้ผ่าน bup fuse, bup ftp เป็นต้น
-NS, --ต้นไม้
ส่งออก git tree id ของชุดข้อมูลที่เป็นผลลัพธ์
-ค, --ให้สัญญา
ส่งออก git commit id ของชุดข้อมูลที่เป็นผลลัพธ์
-NS, --หยด
ส่งออกชุดของ git blob id ที่สอดคล้องกับส่วนต่างๆ ในชุดข้อมูล
เข้ากันไม่ได้กับ -n, -t และ -c
--ไม่นะ อ่านข้อมูลและแบ่งออกเป็นบล็อคตามเช็คซัม "bupsplit" แบบกลิ้ง
อัลกอริธึม แต่อย่าทำอะไรกับบล็อก นี้เป็นประโยชน์ส่วนใหญ่สำหรับ
การเปรียบเทียบ เข้ากันไม่ได้กับ -n, -t, -c และ -b
--สำเนา เช่น --noop แต่ยังเขียนข้อมูลไปยัง stdout สิ่งนี้มีประโยชน์สำหรับ
การเปรียบเทียบความเร็วในการอ่าน+แยก+เขียนสำหรับข้อมูลจำนวนมาก
เข้ากันไม่ได้กับ -n, -t, -c และ -b
OPTIONS
-NS, --รีโมท=เจ้าภาพ:เส้นทาง
บันทึกชุดสำรองไปยังเซิร์ฟเวอร์ระยะไกลที่กำหนด ถ้า เส้นทาง ถูกละไว้ ใช้
เส้นทางเริ่มต้นบนเซิร์ฟเวอร์ระยะไกล (คุณยังต้องรวม ':') NS
การเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกลทำด้วย SSH หากคุณต้องการระบุว่า
พอร์ต ผู้ใช้ หรือคีย์ส่วนตัวเพื่อใช้สำหรับการเชื่อมต่อ SSH เราขอแนะนำให้คุณใช้
~ / .ssh / config ไฟล์. แม้ว่าปลายทางจะห่างไกล แต่ที่เก็บ bup ในเครื่อง
ยังจำเป็นอยู่
-NS, --วันที่=วินาทีตั้งแต่ยุค
ระบุวันที่ในคอมมิท (วินาทีตั้งแต่ 1970-01-01)
-NS, --เงียบ
ปิดการใช้งานข้อความความคืบหน้า
-ใน, --รายละเอียด
เพิ่มความฟุ่มเฟือย (สามารถใช้ได้มากกว่าหนึ่งครั้ง)
--git-id
stdin คือรายการรหัสอ็อบเจ็กต์ git แทนที่จะเป็นข้อมูลดิบ bup split จะอ่าน
เนื้อหาของแต่ละอ็อบเจ็กต์ git ที่มีชื่อ (หากมีอยู่ในที่เก็บ bup) และ split
มัน. สิ่งนี้อาจมีประโยชน์สำหรับการแปลงที่เก็บ git ด้วยไฟล์ไบนารีขนาดใหญ่
เพื่อใช้ hashsplitting แบบ bup แทน ตัวเลือกนี้น่าจะมีประโยชน์มากที่สุดเมื่อ
รวมกับ --keep-boundaries
--รักษาขอบเขต
หากมีการระบุชื่อไฟล์หลายชื่อในบรรทัดคำสั่ง โดยปกติแล้วจะมีการต่อกัน
รวมกันราวกับว่าเนื้อหาทั้งหมดมาจากไฟล์เดียว นั่นคือ ชุดของ
blobs/trees ที่ผลิตออกมาจะเหมือนกันกับที่มันควรจะเป็นถ้ามี
ไฟล์อินพุตเดียว อย่างไรก็ตาม หากคุณใช้ --keep-boundaries แต่ละไฟล์จะถูกแยกออก
แยกจากกัน คุณยังคงได้รับต้นไม้เพียงต้นเดียวหรือคอมมิตหรือชุดของ blobs แต่
แต่ละหยดมาจากไฟล์เดียวเท่านั้น จุดสิ้นสุดของหนึ่งในไฟล์อินพุต
มักจะจบหยด
--ม้านั่ง
พิมพ์การกำหนดเวลาเกณฑ์มาตรฐานไปที่ stderr
--ขนาดแพ็คสูงสุด=ไบต์
อย่าสร้าง git packfiles ที่มากกว่าจำนวนไบต์ที่กำหนด ค่าเริ่มต้นคือ1
พันล้านไบต์ มักจะไม่มีเหตุผลที่จะเปลี่ยนแปลงสิ่งนี้
--max-pack-objects=ตัวเลข
อย่าสร้าง git packfiles ที่มีอ็อบเจ็กต์เกินจำนวนที่กำหนด ค่าเริ่มต้นคือ
200 วัตถุ มักจะไม่มีเหตุผลที่จะเปลี่ยนแปลงสิ่งนี้
--แฟนเอาต์=ตัวเลข
เมื่อแยกไฟล์ขนาดใหญ่มาก ให้พยายามรักษาจำนวนองค์ประกอบในทรีเป็นan
ค่าเฉลี่ยของ ตัวเลข.
--bwlimit=ไบต์/วินาที
อย่าส่งมากกว่า ไบต์/วินาที ไบต์ต่อวินาทีไปยังเซิร์ฟเวอร์ ดีจัง
เพื่อให้การสำรองข้อมูลของคุณไม่ดูดแบนด์วิดท์เครือข่ายทั้งหมดของคุณ ใช้คำต่อท้ายเช่น
k, M หรือ G เพื่อระบุทวีคูณของ 1024, 10241024, 10241024*1024 ตามลำดับ
-#, --บีบอัด=#
ตั้งค่าระดับการบีบอัดเป็น # (ค่าจาก 0-9 โดยที่ 9 คือค่าสูงสุดและ 0 is
ไม่มีการบีบอัด) ค่าเริ่มต้นคือ 1 (การบีบอัดแบบเร็วและหลวม)
ตัวอย่าง
$ ทาร์ -cf - / ฯลฯ | bup แยก -r myserver: -n mybackup-tar
tar: การลบนำหน้า /' ออกจากชื่อสมาชิก
การสร้างดัชนีวัตถุ: 100% (196/196) เสร็จแล้ว
$ bup เข้าร่วม -r myserver: mybackup-tar | น้ำมันดิน -tf - | สุขา -l
1961
ใช้ bup-split ออนไลน์โดยใช้บริการ onworks.net