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

GNU tar สร้างและจัดการกับไฟล์เก็บถาวรซึ่งจริงๆแล้วเป็นชุดของไฟล์อื่น ๆ อีกมากมาย; โปรแกรมจัดเตรียมวิธีการที่เป็นระเบียบและเป็นระบบสำหรับผู้ใช้ในการควบคุมข้อมูลจำนวนมาก

2
tar - ลบองค์ประกอบไดเรกทอรีชั้นนำในการสกัด
คุณจะแยกเฉพาะ dir เป้าหมายและไม่ใช่ต้นไม้ dir ที่สมบูรณ์ได้อย่างไร อัด tar cf /var/www/site.tar /var/www_bak/site สารสกัด tar xf /var/www/site.tar -C /tmp สิ่งนี้จะผลิต: /tmp/var/www/site เป็นไปได้อย่างไรที่จะหลีกเลี่ยงต้นไม้ dir ทั้งหมดที่จะสร้างเมื่อแตกไฟล์? สิ่งที่ฉันต้องการให้แยกไปที่: /tmp/site
104 linux  tar 

9
mysqldump เป็น tar.gz
โดยปกติหลังจากทิ้งฐานข้อมูล MySQL ด้วยmysqldumpคำสั่งฉันทันที tar / gzip ไฟล์ผลลัพธ์ ฉันกำลังมองหาวิธีการทำสิ่งนี้ในคำสั่งเดียว: ดังนั้นจากนี้ mysqldump dbname -u root -p > dbname.sql tar czvf dbname.sql.tgz dbname.sql rm dbname.sql เพื่อสิ่งนี้: mysqldump dbname -u root -p > some wizardry > dbname.sql.tgz หรือดียิ่งขึ้น (เนื่องจากฉันมักจะสแกนไฟล์การถ่ายโอนไปยังเซิร์ฟเวอร์อื่น): mysqldump dbname -u root -p > send dbname.sql.tgz to user@host ฉันกำลังทุบตีกับเดเบียน
88 mysql  debian  bash  gzip  tar 

8
วิธีที่เร็วที่สุดในการถ่ายโอนรูปภาพ 55GB ไปยังเซิร์ฟเวอร์ใหม่
ปัจจุบันฉันมีเซิร์ฟเวอร์ CentOS สองแห่ง ฉันจำเป็นต้องรู้วิธีและสิ่งที่เร็วที่สุดที่จะ "tar" ในไดเรกทอรีรูปภาพและ SCP ได้หรือไม่ นั่นเป็นวิธีที่เร็วที่สุดที่ฉันเพิ่งแนะนำเพราะการเหน็บแนมใช้ไปตลอดกาล ... ฉันวิ่งตามคำสั่ง: tar cvf imagesbackup.tar images และฉันกำลังจะสแกนมันมากกว่า แจ้งให้เราทราบหากมีวิธีที่รวดเร็วกว่า ฉันสามารถเข้าถึงทั้งสองเครื่องจากระยะไกล / SSH ได้
64 file-transfer  scp  tar 

3
วิธีแยก tar.gz ที่เร็วที่สุด
อย่างไรก็ตามมีวิธีการแตกไฟล์ tar.gz เร็วกว่าtar -zxvf filenamehereหรือไม่ เรามีไฟล์ขนาดใหญ่และพยายามเพิ่มประสิทธิภาพการทำงาน
42 linux  tar  gzip 

1
ทำไม `tar -xvfz` ถึงล้มเหลว แต่` tar-xvfz` ทำงาน
tar -xvfz foo.tar.gz ส่งคืนข้อผิดพลาด tar: z: Cannot open: No such file or directory สิ่งนี้สามารถเข้าใจได้อย่างสมบูรณ์ - fสวิตช์คาดหวังว่าจะมีชื่อไฟล์และจำเป็นต้องมีการใช้งานครั้งสุดท้าย อย่างไรก็ตามการละเว้นการใช้เครื่องหมายขีดกลางtar xvfz foot.tar.gzและยกเลิกการบีบอัดและยกเลิกการตรวจสอบไฟล์ ฉันได้ทำการทดสอบกับ OS X 10.8 และ Ubuntu 12.04 แล้ว ความคิดใด ๆ [แก้ไขเพื่อเพิ่ม] tar -zxvf foo.tar.gzฉันมักจะใช้ อย่างไรก็ตามคำถามนี้เกิดขึ้นเพราะxkcd นี้และความประหลาดใจของฉันเมื่อมีคนยืนยันว่าtar xvfzจะทำงาน
41 linux  tar 

6
ตรวจสอบว่าไฟล์อยู่ในกระบวนการของการเขียน?
ฉันต้องการปรับใช้กระบวนการอัตโนมัติ (ผ่านสคริปต์ cron 1 นาที) ที่ค้นหาไฟล์ tar ในไดเรกทอรีที่ระบุ หากพบไฟล์ tar ไฟล์นั้นจะถูก untarred ไปยังตำแหน่งที่เหมาะสมจากนั้นไฟล์ tar จะถูกลบ ไฟล์ tar จะถูกคัดลอกไปยังเซิร์ฟเวอร์นี้โดยอัตโนมัติผ่าน SSH จากเซิร์ฟเวอร์อื่น ในบางกรณีไฟล์ tar มีขนาดใหญ่มากพร้อมไฟล์จำนวนมาก ปัญหาที่ฉันคาดว่าจะพบ: หากใช้เวลา> 1 นาทีเพื่อให้คัดลอกไฟล์ tar ไปยังเซิร์ฟเวอร์และสคริปต์ cron ทำงานทุก ๆ นาทีก็จะเห็นไฟล์. tar.gz และลองทำ untar มันแม้ว่าไฟล์ tar ยังอยู่ในขั้นตอนการเขียน มีวิธีใดบ้าง (ผ่านคำสั่ง bash) เพื่อทดสอบว่าไฟล์นั้นกำลังถูกเขียนไปหรือไม่หรือเป็นเพียงไฟล์บางส่วนเท่านั้น? อีกทางเลือกหนึ่งที่ฉันคิดว่าคือการคัดลอกไฟล์เป็นนามสกุลไฟล์อื่น (เช่น.tar.gz.part) แล้วเปลี่ยนชื่อเป็น.tar.gzหลังจากการถ่ายโอนเสร็จสมบูรณ์ แต่ฉันคิดว่าฉันพยายามที่จะคิดออกว่ามีเพียงวิธีการตรวจสอบว่าไฟล์ทั้งหมดที่บรรทัดคำสั่งแรก ... เบาะแสใด ๆ …
25 linux  bash  tar 


8
มี tar ที่ชาญฉลาดหรือ cpio ในการดึงไฟล์ที่เก็บไว้ในไฟล์เก็บถาวรได้อย่างมีประสิทธิภาพหรือไม่?
ฉันใช้tarในการเก็บกลุ่มขนาดใหญ่มาก (Multi-GB) กbz2ไฟล์ ถ้าฉันใช้tar -tf file.tarเพื่อแสดงรายการไฟล์ภายในไฟล์เก็บถาวรการดำเนินการนี้ใช้เวลานานมากในการดำเนินการให้เสร็จสมบูรณ์ (~ 10-15 นาที) เช่นเดียวกันcpio -t < file.cpioใช้เวลานานพอที่จะทำให้เสร็จสมบูรณ์บวกหรือลบสองสามวินาที ดังนั้นการดึงไฟล์จากไฟล์เก็บถาวร (ผ่านtar -xf file.tar myFileOfInterest.bz2ตัวอย่าง) จึงช้า มีวิธีการเก็บถาวรที่เก็บ "แค็ตตาล็อก" พร้อมกับเก็บถาวรเพื่อให้แต่ละไฟล์ภายในเก็บถาวรสามารถดึงข้อมูลได้อย่างรวดเร็ว? ตัวอย่างเช่นแคตตาล็อกบางประเภทที่เก็บตัวชี้ไปยังไบต์เฉพาะในไฟล์เก็บถาวรรวมถึงขนาดของไฟล์ที่จะเรียกคืน (เช่นเดียวกับรายการเฉพาะระบบไฟล์อื่น ๆ ) มีเครื่องมือ (หรืออาร์กิวเมนต์ไปที่tarหรือcpio) ที่อนุญาตให้เรียกไฟล์ที่มีประสิทธิภาพภายในไฟล์เก็บถาวรได้หรือไม่?
24 linux  tar  archive  cpio 

4
tar: วิธีการสร้างไฟล์ tar ที่มีไดเรกทอรีชั้นนำโดยไม่มี w / o 'cd'ing ถึง parent dir
ว่าฉันมีไดเรกทอรีของไฟล์ที่ /home/user1/dir1 และฉันต้องการสร้าง tar ที่มีเฉพาะ "dir1" เป็นไดเรกทอรีนำ: /dir1/file1 /dir1/file2 ฉันรู้ว่าฉันสามารถ cd แรกไปที่ไดเรกทอรี cd /home/user1/ tar czvf dir1.tar.gz dir1 แต่เมื่อเขียนสคริปต์การกระโดดจากไดเรกทอรีไปยังไดเรกทอรีไม่ได้เป็นที่นิยมเสมอไป ฉันสงสัยว่ามีวิธีที่จะทำกับเส้นทางที่แน่นอนโดยไม่ต้องเปลี่ยนไดเรกทอรีปัจจุบันหรือไม่? ฉันรู้ว่าฉันสามารถสร้างไฟล์ tar ด้วยพา ธ สัมบูรณ์ภายในและใช้งานได้เสมอ --strip-components เมื่อแตกออก แต่บางครั้งชื่อพา ธ พิเศษเป็นข้อมูลส่วนตัวเพิ่มเติมที่คุณไม่ต้องการกระจายพร้อมไฟล์ tar ของคุณ ขอบคุณ!
23 compression  tar 

4
tar สงวนสิทธิ์ไว้หรือไม่หาก ID ผู้ใช้เปลี่ยนไป
ฉันต้องการสำรองข้อมูลด้วยตัวเลือก "p" บนคำสั่ง tar ปัญหาคือสถานที่ที่ฉันจะกู้คืนข้อมูลนี้จะมีผู้ใช้เดียวกันทั้งหมด แต่ผู้ใช้เหล่านั้นอาจมี ID ที่แตกต่างกัน สิ่งนี้สร้างความแตกต่างให้กับ tar หรือจะเรียกคืนสิทธิ์อย่างถูกต้องด้วยชื่อผู้ใช้หรือไม่?
20 linux  tar 

3
วิธีดำเนินการ rsync แบบปลอดภัยระหว่างเซิร์ฟเวอร์ในเครือข่ายที่ไม่ปลอดภัย
โดยทั่วไปสิ่งที่ฉันถามคือมีใครเจอวิธีที่จะห่อ rsync ภายใน ssh ด้วย OpenSSH v4.9 + sftp มีตัวเลือกที่ดีที่อนุญาตให้คุณ chroot การเชื่อมต่อที่เข้ามาและนั่นคือทางออกที่ฉันจะดู แต่ฉันติดอยู่กับ RHEL และ RHEL4 หรือ RHEL5 ไม่เกินรุ่นนั้น SSH โซลูชันปัจจุบันของฉันคือการเพิ่มสิ่งนี้ในฝั่งเซิร์ฟเวอร์โดยใช้รหัสผู้ใช้ของลูกค้า ... เซิร์ฟเวอร์% cat ~ / .ssh / authorized_keys คำสั่ง = "cd / srv / rsync / etl && tar --exclude './lost+found' -pcf - ./" ssh-rsa ... ... และดังนั้นลูกค้าจะถูก จำกัด …
19 rsync  ssh  copy  tar  security 

3
วิธีแสดงรายการเนื้อหาจากไฟล์ tar โดยไม่ต้องเรียกซ้ำ
ฉันเป็นไฟล์ tar (gz, bzip) และต้องการดูเนื้อหา แต่ไม่เรียกซ้ำ นี่คือ: "ระดับแรก" ในไฟล์ ฉันรู้วิธีดูเนื้อหาแล้ว: tar -ztf file.tar.gz แต่มันก็วนซ้ำ !! ขอบคุณ!

2
tar: ทำลายข้อความแสดงข้อผิดพลาด: 'tar: การลบนำหน้า `/' ออกจากชื่อสมาชิก '
ฉันเรียกใช้จาก cronjob: tar -czvf /var/backups/svn.tgz /var/svn/* ที่สร้างสิ่งนี้ใน stderr: tar: Removing leading `/' from member names ฉันต้องการหลีกเลี่ยงสิ่งนี้เพราะไม่ใช่ข้อผิดพลาดจริง (สำหรับฉัน!) ฉันต้องการ stderr เฉพาะสิ่งที่ฉันควรกังวลเกี่ยวกับ? ฉันจะฆ่าข้อความนั้นได้อย่างไร ฉันรู้สึกว่ามันเป็นเรื่องของการใช้ตัวเลือก tar-C แต่ฉันไม่แน่ใจและไม่รู้วิธี ขอบคุณสำหรับความช่วยเหลือ แดน
16 tar  stderr 


2
วิธี tarball ไดเรกทอรีโดยไม่ต้องดำเนินการมากกว่า / เส้นทาง / ไปยังโฟลเดอร์?
คำสั่งตัวอย่าง: $ tar -cvjf destination.tar.bz2 /path/to/folder/source ฉันต้องการขั้นสุดท้ายdestination.tar.bz2เมื่อแยกแล้วเพื่อไม่รวม/path/to/folder/ไดเรกทอรีไฟล์ ดูเหมือนไม่มีประสิทธิภาพในการแยก tarball แล้ว mv เนื้อหาของ/path/to/folder/sourceไปยังไดเรกทอรีที่แตกต่างกัน

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