คำถามติดแท็ก tar

โปรแกรมเก็บถาวรสำหรับจัดเก็บและเรียกไฟล์เป็นคอลเลคชันพร้อมรองรับการบีบอัดข้อมูล

27
เชลล์คำสั่งไปยังไดเรกทอรี tar ยกเว้นไฟล์ / โฟลเดอร์บางอย่าง
มีคำสั่งเชลล์ / สคริปต์แบบธรรมดาที่สนับสนุนการแยกไฟล์ / โฟลเดอร์บางไฟล์ออกจากการเก็บถาวรหรือไม่? ฉันมีไดเรกทอรีที่ต้องเก็บถาวรด้วยไดเรกทอรีย่อยที่มีจำนวนไฟล์ที่มีขนาดใหญ่มากฉันไม่จำเป็นต้องสำรองข้อมูล ไม่ใช่วิธีแก้ปัญหา: tar --exclude=PATTERNคำสั่งตรงกับรูปแบบที่กำหนดและไม่รวมไฟล์เหล่านั้น แต่ฉันต้องการเฉพาะไฟล์และโฟลเดอร์ที่จะละเลย (เส้นทางของไฟล์เต็ม) มิฉะนั้นไฟล์ที่ถูกต้องอาจจะได้รับการยกเว้น ฉันยังสามารถใช้คำสั่ง find เพื่อสร้างรายการไฟล์และแยกไฟล์ที่ฉันไม่ต้องการเก็บถาวรและส่งต่อรายการให้ tar แต่ก็ใช้ได้กับไฟล์จำนวนเล็กน้อยเท่านั้น ฉันมีหมื่น ฉันเริ่มคิดว่าทางออกเดียวคือการสร้างไฟล์ที่มีรายการไฟล์ / โฟลเดอร์ที่จะแยกออกจากนั้นใช้ rsync ด้วย--exclude-from=fileเพื่อคัดลอกไฟล์ทั้งหมดไปยังไดเรกทอรี tmp แล้วใช้ tar เพื่อเก็บถาวรไดเรกทอรีนั้น ใครสามารถคิดวิธีที่ดีกว่า / มีประสิทธิภาพมากกว่านี้ได้ไหม แก้ไข: ทางออกของCharles Maทำงานได้ดี gotcha ขนาดใหญ่คือ--exclude='./folder' ต้องอยู่ที่จุดเริ่มต้นของคำสั่ง tar คำสั่งแบบเต็ม (cd ก่อนดังนั้นการสำรองข้อมูลจึงสัมพันธ์กับไดเรกทอรีนั้น): cd /folder_to_backup tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz .
810 linux  shell  archive  tar 

17
ฉันจะ tar ไดเร็กทอรีของไฟล์และโฟลเดอร์โดยไม่รวมไดเร็กทอรีเองได้อย่างไร?
ฉันมักจะทำ: tar -czvf my_directory.tar.gz my_directory ถ้าฉันต้องการรวมทุกอย่าง (รวมถึงไฟล์ระบบที่ซ่อนอยู่) ใน my_directory แต่ไม่ใช่ไดเรกทอรีเอง ฉันไม่ต้องการ: my_directory --- my_file --- my_file --- my_file ฉันต้องการ: my_file my_file my_file
382 archive  tar  gzip 

6
ห้ามฝากไดเรกทอรีไว้ แต่อย่าเก็บเส้นทางที่สมบูรณ์แบบไว้ในที่เก็บถาวร
ฉันมีคำสั่งต่อไปนี้ในส่วนของเชลล์สคริปต์สำรอง: tar -cjf site1.bz2 /var/www/site1/ เมื่อฉันแสดงรายการเนื้อหาของไฟล์เก็บถาวรฉันจะได้รับ: tar -tf site1.bz2 var/www/site1/style.css var/www/site1/index.html var/www/site1/page2.html var/www/site1/page3.html var/www/site1/images/img1.png var/www/site1/images/img2.png var/www/site1/subdir/index.html แต่ฉันต้องการที่จะลบส่วน/var/www/site1จากไดเรกทอรีและชื่อไฟล์ภายในที่เก็บเพื่อลดความยุ่งยากในการสกัดและหลีกเลี่ยงโครงสร้างไดเรกทอรีคงที่ไร้ประโยชน์ ไม่เคยรู้ในกรณีที่ฉันจะแยกเว็บไซต์ที่/var/wwwสำรองไว้ในที่ที่ไม่มีการจัดเก็บข้อมูลเว็บไว้ สำหรับตัวอย่างข้างต้นฉันต้องการ: tar -tf site1.bz2 style.css index.html page2.html page3.html images/img1.png images/img2.png subdir/index.html ดังนั้นเมื่อฉันแตกไฟล์จะถูกแตกในไดเรกทอรีปัจจุบันและฉันไม่จำเป็นต้องย้ายไฟล์ที่ถูกแยกหลังจากนั้นและเพื่อให้โครงสร้างไดเรกทอรีย่อยถูกเก็บรักษาไว้ มีคำถามมากมายเกี่ยวกับ tar และการสำรองข้อมูลในstackoverflowและที่อื่น ๆ บนเว็บ แต่ส่วนใหญ่ขอให้วางโครงสร้างไดเรกทอรีย่อยทั้งหมด (แบน) หรือเพียงแค่เพิ่มหรือลบชื่อเริ่มต้น / ในชื่อ (I don ' ไม่รู้ว่ามันจะเปลี่ยนไปเมื่อสกัด) แต่ไม่มาก หลังจากอ่านคำตอบบางส่วนที่พบที่นี่และที่นั่นพร้อมกับคู่มือแล้วฉันลอง: tar -cjf site1.bz2 -C …
277 linux  bash  backup  tar 


6
การใช้มัลติคอร์สำหรับการบีบอัด / คลายการบีบอัด tar + gzip / bzip
ปกติฉันบีบอัดโดยใช้tar zcvfและคลายการบีบอัดโดยใช้tar zxvf(ใช้ gzip เนื่องจากนิสัย) เมื่อเร็ว ๆ นี้ฉันได้รับซีพียู Quad คอร์ที่มีไฮเปอร์เธรดดังนั้นฉันมี 8 คอร์แบบลอจิคัลและฉันสังเกตเห็นว่าหลายคอร์ไม่ได้ใช้ในระหว่างการบีบอัด / คลายการบีบอัด มีวิธีใดบ้างที่ฉันสามารถใช้ประโยชน์จากแกนที่ไม่ได้ใช้เพื่อทำให้เร็วขึ้น?
225 gzip  tar  bzip2  bzip 

6
การเก็บถาวร tar ที่รับอินพุตจากรายการไฟล์
ฉันมีไฟล์ที่มีรายการไฟล์ที่ฉันต้องการเก็บถาวรด้วย tar ลองเรียกมันว่าmylist.txt มันมี: file1.txt file2.txt ... file10.txt มีวิธีที่ฉันสามารถออกคำสั่ง TAR ที่ใช้mylist.txtเป็นอินพุตได้หรือไม่? สิ่งที่ต้องการ tar -cvf allfiles.tar -[someoption?] mylist.txt เพื่อให้คล้ายกับว่าฉันออกคำสั่งนี้: tar -cvf allfiles.tar file1.txt file2.txt file10.txt
166 linux  unix  archive  tar 

5
สร้าง tar.xz ในคำสั่งเดียว
ฉันพยายามสร้าง.tar.xzไฟล์บีบอัดที่เก็บถาวรในคำสั่งเดียว ไวยากรณ์ที่เฉพาะเจาะจงสำหรับสิ่งนั้นคืออะไร? ฉันลองtar cf - file | xz file.tar.xzแล้ว แต่มันไม่ทำงาน
159 compression  archive  tar  xz 

1
tar และ zip แตกต่างกันอย่างไร? [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน8 ปีที่ผ่านมา ปรับปรุงคำถามนี้ tar และ zip แตกต่างกันอย่างไร? กรณีการใช้งานแต่ละกรณีมีอะไรบ้าง
154 unix  compression  zip  tar 

8
วิธีการแตกไฟล์ filename.tar.gz
ฉันต้องการแยกไฟล์เก็บถาวรชื่อfilename.tar.gz. การใช้tar -xzvf filename.tar.gzไม่แตกไฟล์ มันให้ข้อผิดพลาดนี้: gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error exit delayed from previous errors
120 linux  file  gzip  tar 


10
ไม่รวมไดเร็กทอรีเมื่อสร้างไฟล์. tar.gz
ฉันมี/public_html/โฟลเดอร์ในโฟลเดอร์นั้นมี/tmp/โฟลเดอร์ที่มีไฟล์ 70GB ซึ่งฉันไม่ต้องการจริงๆ ตอนนี้ผมกำลังพยายามที่จะสร้าง.tar.gzของ/public_html/ไม่รวม/tmp/ นี่คือคำสั่งที่ฉันเรียกใช้: tar -pczf MyBackup.tar.gz /home/user/public_html/ --exclude "/home/user/public_html/tmp/" tar ยังคงถูกสร้างขึ้นและจากการทำls -shฉันเห็นว่าMyBackup.tar.gzมีอยู่แล้วประมาณ 30gb และฉันรู้แน่นอนว่า/public_html/ไม่มี/tmp/ไฟล์เกิน 1GB ฉันทำอะไรผิด?
119 linux  gzip  tar  compression 

8
จะตรวจสอบได้อย่างไรว่าไฟล์ Unix .tar.gz เป็นไฟล์ที่ถูกต้องโดยไม่ต้องยกเลิกการบีบอัด?
ฉันพบคำถามจะตรวจสอบได้อย่างไรว่าข้อมูลเป็นไฟล์ tar ที่ถูกต้องโดยไม่มีไฟล์? แต่ฉันสงสัยว่า: มีโซลูชันบรรทัดคำสั่งสำเร็จรูปหรือไม่?
113 gzip  validation  tar  gunzip 

9
ค้นหาไฟล์และทาร์ต (ด้วยช่องว่าง)
เอาล่ะปัญหาง่ายๆตรงนี้ ฉันกำลังทำงานกับรหัสสำรองง่ายๆ ทำงานได้ดียกเว้นว่าไฟล์มีช่องว่างอยู่ นี่คือวิธีที่ฉันค้นหาไฟล์และเพิ่มลงในไฟล์เก็บถาวร tar: find . -type f | xargs tar -czvf backup.tar.gz ปัญหาคือเมื่อไฟล์มีช่องว่างในชื่อเนื่องจาก tar คิดว่าเป็นโฟลเดอร์ โดยพื้นฐานแล้วฉันสามารถเพิ่มเครื่องหมายคำพูดรอบ ๆ ผลลัพธ์จากการค้นหาได้หรือไม่? หรือวิธีอื่นในการแก้ไขปัญหานี้?
110 linux  find  backup  tar 

16
tar: เพิ่มไฟล์และไดเร็กทอรีทั้งหมดในไดเร็กทอรีปัจจุบันซึ่งรวมถึง. svn และอื่น ๆ
ฉันพยายาม tar.gz ไดเรกทอรีและใช้ tar -czf workspace.tar.gz * tar ที่ได้จะมี.svnไดเร็กทอรีในไดเร็กทอรีย่อย แต่ไม่อยู่ในไดเร็กทอรีปัจจุบัน (เนื่องจาก*ขยายเป็นไฟล์ 'มองเห็นได้' เท่านั้นก่อนที่จะถูกส่งไปยัง tar ฉันพยายามที่จะ tar -czf workspace.tar.gz .แต่แล้วฉันก็ได้รับข้อผิดพลาดเนื่องจาก "." มีการเปลี่ยนแปลงขณะอ่าน: tar: ./workspace.tar.gz: file changed as we read it มีเคล็ดลับในการ*จับคู่ไฟล์ทั้งหมด (รวมถึงจุดที่นำหน้า) ในไดเรกทอรีหรือไม่ (ใช้ bash บน Linux SLES-11 (2.6.27.19)

2
สร้างไฟล์. tar.bz2 Linux
บนเครื่อง Linux ของฉันฉันต้องการสร้างไฟล์. tar.bz2 ของโฟลเดอร์ใดโฟลเดอร์หนึ่ง เมื่อฉันวางตัวเองในโฟลเดอร์นั้น (ในเทอร์มินัล) ฉันจะพิมพ์อะไรในบรรทัดคำสั่งเทอร์มินัลเพื่อวางโฟลเดอร์ที่บีบอัดไว้ในโฮมไดเร็กทอรีของเครื่องของฉัน สมมติว่าฉันอยู่ในโฟลเดอร์ / home / user / folder ในโฟลเดอร์ "โฟลเดอร์" มีไฟล์หลายไฟล์ (txt, .c ฯลฯ ) ฉันจะบีบอัดโฟลเดอร์ประเภท. tar.bz2 และวางไว้ในไดเร็กทอรี / home ได้อย่างไร? ในโฟลเดอร์ / home / user / ฉันได้ลองแล้วsudo tar -cvjSf folder.tar.bz2แต่ได้รับข้อผิดพลาด: tar: ขี้ขลาดไม่ยอมสร้างที่เก็บถาวรที่ว่างเปล่า
87 linux  compression  tar 

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