ตัวเลือกที่เพิ่มขึ้น tar ไม่ได้เพิ่มไฟล์ใหม่


1

ในการสำรองข้อมูลส่วนเพิ่มtarดูเหมือนจะไม่สามารถเพิ่มไฟล์ใหม่ได้:

$ tar -cvzf test.tar.gz -g test.snar a.txt
a.txt
$ tar -cvzf test2.tar.gz -g test.snar a.txt b.txt

คำสั่งที่สองไม่ส่งคืนสิ่งใดและไฟล์เก็บถาวรว่างเปล่า ยังใช้งานได้ถ้าฉันระบุไดเรกทอรีแทนไฟล์ มีอะไรที่ฉันคิดถึง

คำตอบ:


1

ไฟล์ snapshot มีa.txtอยู่ในคำสั่ง tar แรก b.txtบนน้ำมันดินที่สองภาพรวมไม่ทราบเกี่ยวกับ a.txtไม่ได้เปลี่ยนดังนั้นการเก็บถาวรแบบเพิ่มจะว่างเปล่า

หากไฟล์เก็บถาวรที่เพิ่มขึ้นอยู่ในระดับไดเรกทอรีมันจะตรวจจับการเปลี่ยนแปลง (b.txt) เพราะ b.txt มีอยู่ในลำดับขั้นของไดเรกทอรี

หากไฟล์สแน็ปช็อตมีอยู่จะเป็นตัวกำหนดว่าจะแก้ไขไฟล์ใด

ดูการสำรองข้อมูลอ้างอิงส่วนเพิ่มของ GNU Tar

ตัวเลือก '--listed-incremental' สั่งให้ tar ดำเนินการกับการเก็บถาวรแบบเพิ่มเติมพร้อมเมทาดาทาเพิ่มเติมที่เก็บไว้ในไฟล์สแตนด์อโลนที่เรียกว่าไฟล์สแน็ปช็อต จุดประสงค์ของไฟล์นี้คือเพื่อช่วยในการพิจารณาว่ามีการเปลี่ยนแปลงเพิ่มหรือลบไฟล์ใดตั้งแต่การสำรองข้อมูลครั้งล่าสุดดังนั้นการสำรองข้อมูลเพิ่มเติมครั้งต่อไปจะมีเฉพาะไฟล์ที่ถูกแก้ไข ชื่อของไฟล์สแน็ปช็อตได้รับเป็นอาร์กิวเมนต์สำหรับตัวเลือก:


ดังนั้นtarใช้งานได้ดีในไดเรกทอรีสำหรับการสำรองข้อมูลที่เพิ่มขึ้นแล้ว?
alex_reader

ในแบบที่คุณใช้ - ใช่ คุณสามารถลบไฟล์สแน็ปช็อตหากจะเพิ่มไฟล์เพิ่มเติม
สงสัย

1

คุณดูที่การใช้ตัวเลือก "–listed-incremental" เพื่อ tar หรือไม่? มันจะช่วยให้คุณสามารถเพิ่มโฟลเดอร์เฉพาะและช่วยให้คุณบีบอัดไฟล์ที่เปลี่ยนแปลงตั้งแต่ครั้งสุดท้ายที่พวกเขาถูกเพิ่มเพื่อ tar ด้วยตัวเลือก --list-incremental

ตัวเลือกทั่วไปมากขึ้นคือการผนวกไฟล์ใหม่โดยใช้ -a หรือตัวเลือกต่อท้ายซึ่งวางไฟล์ไว้ที่ส่วนท้ายของไฟล์เก็บถาวร

หากนี่เป็นสถานการณ์การสำรองข้อมูลฉันขอแนะนำให้คุณดู rsync ว่าเป็นตัวเลือกที่มีฟีเจอร์มากกว่า แต่ทุกอย่างขึ้นอยู่กับสิ่งที่คุณพยายามทำกับขั้นตอนการสำรองข้อมูลของคุณ


ในรุ่นของฉันเป็นคำพ้องสำหรับ-g --listed-incrementalคำถามของฉันเกี่ยวกับสาเหตุที่ทำให้ใช้งานไดเรคทอรีไม่ใช่สำหรับรายการไฟล์
alex_reader
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.