Tar ile bir klasör sıkıştırmak?


268

Bir klasörü ( /var/www/) geçerli tarihin ~/www_backups/$time.tarolduğu yere sıkıştırmaya çalışıyorum $time.

Elimde bu var:

cd /var/www && sudo tar -czf ~/www_backups $time"

Tamamen kayboldum ve saatlerdir bu işteyim. -czfDoğru olup olmadığından emin değilim . Sadece içeriğin tamamını /var/wwwbir $time.tardosyaya kopyalamak istiyorum ve tüm dosyalar için dosya izinlerini korumak istiyorum. Biri bana yardım edebilir mi?


Eğer diğer taraftan "gerek $timede.
gauteh

Yanıtlar:


373

To tarve gzipbir klasör, sözdizimi:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

-İsteğe bağlıdır. tarGeçerli dizine gitmek istiyorsanız , .onu belirlemek için kullanın .

Dosya adınızı oluşturmak için dateyardımcı programı kullanın (mevcut format seçenekleri için kılavuz sayfasına bakın). Örneğin:

cd /var/www && sudo tar czf ~/www_backups/$(date +%Y%m%d-%H%M%S).tar.gz .

Bu, buna benzer bir dosya oluşturabilirdi 20120902-185558.tar.gz.

Linux'ta, olasılıklar tarBZip2 sıkıştırmasını da seçenek jyerine destekliyor z. Ve muhtemelen başkaları. Yerel sisteminizdeki man sayfasını kontrol edin.


1
Bu mükemmel, teşekkür ederim. Yine de küçük bir sorunum var. / Var / www bir tar dosyası oluşturduktan sonra, tar dosyasında / var / www dizinlerine yerleştirilir. İşte şimdi kullanıyorum kodu İşte sudo tar -czf ~/www_backups/$time.tar /var/www/"/ var / www içinde test.txt adlı bir dosya olduğunu hayal edin. Dosyanın bir katran kopyasını yaptıktan sonra, çıkarttığımda / var / www dizinlerinin içine yerleştirilecektir. bu mantıklı mı? Umarım açıklar, biraz zor. BZip2 desteğini kontrol edeceğim, öneri için teşekkürler!
qwerty

1
Bu nedenle, önce cdpaketlemek istediğiniz dizine, ardından tar cf file.tar .- .tam yolu belirtmek yerine geçen , arşivdeki yolları geçerli dizine göre yapacaktır. Ayrıca -Ctar seçeneğini de kullanabilirsiniz (man sayfasına bakınız).
Mat

1
Evet, bu çok daha iyi çalıştı. Bir demet teşekkürler, teşekkür ederim!
qwerty

3
@Qwertylicious -f(man sayfasından)Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
Kolob Kanyonu

1
sudosoruydu, değişmedi ya da sorusu yoktu. Yedekleme hedef dizinini root ile sınırlandırmak kötü bir fikir olsa da.
Mat,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.