เปลี่ยนชื่อไดเรกทอรีด้วย tar


3

ฉันมีบางไดเรกทอรีฉันต้องการแพ็คลงในไฟล์เก็บถาวร tgz

/home/stofl/myproject/migrations/
/home/stofl/myproject/source/
/path/to/my/migration/tool/source/

ไฟล์เก็บถาวรควรมีโครงสร้างต่อไปนี้:

migrations/
source/
my_migration_tool/

ฉันต้องคัดลอกเครื่องมือย้ายข้อมูลไปที่/home/stofl/myproject/(หรือสร้าง symlink) หรือมีวิธีอื่นหรือไม่

แก้ไข

สามารถบีบอัดไฟล์เก็บถาวรได้ในgzipภายหลัง ดังนั้นอาจมีวิธีการผนวกไดเรกทอรีไปยังที่tarเก็บถาวรด้วย--appendแต่ฉันไม่พบวิธีที่จะบอกtarให้ใช้ชื่ออื่น

คำตอบ:


3

ในฐานะที่เป็นที่เก็บควรมีทางญาติ ( migrations/ source/ my_migration_tool/) /home/stofl/myprojectก็จะต้องมีการเก็บถาวรที่ทำจาก

ในขณะที่คุณพูดถึงคุณสามารถผนวกไดเรกทอรีไปยังไฟล์เก็บถาวร tar ( tarอนุญาตให้ผนวกไฟล์เก็บถาวรที่ไม่ใช่ gzipped เท่านั้น) แต่นี่จะไม่เปลี่ยนชื่อไดเรกทอรีที่ 3 เป็น my_migration_source:

cd /home/stofl/myproject
tar cvf myprojects.tar migrations source
/path/to/my/migration
# appends contents of tool to archive
tar -rv --file /home/stofl/myproject/myprojects.tar tool 

ตัวเลือกที่ง่ายที่สุดที่ฉันคิดว่าน่าจะใช้เป็นลิงก์สัญลักษณ์:

cd /home/stofl/myprojec 
ln -s my_migration_tool /path/to/my/migration/tool/source/
# tar H option to follow symbolic links
tar cvfH myprojects.tar migrations source my_migration_tool

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