ฉันรักษาไฟล์เซิร์ฟเวอร์ ฉันต้องการสำรองไฟล์ที่มีการเปลี่ยนแปลงในช่วงเวลาหนึ่ง
ก่อนอื่นฉันบีบอัดไฟล์ทุกอย่างเป็นไฟล์ 4GB และสำรองข้อมูลลงแผ่นดีวีดี แต่ 7z ที่ฉันใช้อยู่
7z a -t7z /home/user/myfiles051413_proj.7z /home/share/projects -v4000m -m0=bzip2 -mmt=4
ดูเหมือนจะไม่มีวิธีที่จะซิปไฟล์ที่แก้ไขใน 60 วันที่ผ่านมาและฉันไม่แน่ใจว่าจะส่งผ่านไปยังคำสั่ง sorta เช่นนี้ได้อย่างไร ฉันไม่ต้องการบีบอัดทั้งโฟลเดอร์และสำรองสิ่งที่สำรองไว้แล้ว! (เสียพื้นที่)
tar ดูเหมือนว่าจะทำงานได้ดีกับสิ่งนี้
find /home/share/projects -mtime -60
และการวางคำสั่งลงในคำสั่งก็ใช้งานได้เช่นกัน แต่ช่องว่างให้ปัญหาแก่ฉัน นี่คือคำสั่งที่ฉันพยายามจะทำงาน การค้นหาไฟล์ทั้งหมดที่แก้ไขใน 60 วันที่ผ่านมา จากนั้นทำการบีบอัดไฟล์เหล่านั้นเป็นไฟล์ 4GB
find /home/share/projects/ -mtime -60 | xargs tar -cvML 4194304 -f /home/user/myfiles`date '+%d%m%Y'_proj.tar`
ในขณะนี้มันจะทำงานชั่วขณะหนึ่งแล้วมีไฟล์ขนาดเล็กเพียงไฟล์เดียว มันพิมพ์ไฟล์จำนวนมากบนหน้าจอ!
ฉันได้เล่นกับ -print0
find /home/samba/shares/projects -mtime -60 -type f -print0| xargs tar -cvML 4194304 -f /home/samba/shares/bkup/`date '+%d%m%Y'_proj.tar` -T - --null
ฉันได้รับ tar จำนวนมาก: de: ไม่สามารถ stat: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
-0
xargs
นอกจากนี้หากคุณต้องการเพิ่มข้อมูลให้แก้ไขคำถามของคุณ นี่ไม่ใช่กระดานสนทนา หากคุณกำลังจะเพิ่มคำตอบเราคาดหวังให้คำตอบนั้น
-print0
ตัวเลือกในการค้นหา (และจับคู่ xargs ด้วย -0)