Kompres folder dengan tar?

268

Saya mencoba mengompres folder ( /var/www/) ke ~/www_backups/$time.tartempat $timetanggal saat ini.

Inilah yang saya miliki:

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

Saya benar-benar tersesat dan saya sudah berjam-jam di sini. Tidak yakin apakah -czfitu benar. Saya hanya ingin menyalin semua konten /var/wwwke dalam $time.tarfile, dan saya ingin mempertahankan izin file untuk semua file. Adakah yang bisa membantu saya?

qwerty
sumber
Anda memerlukan "di sisi lain $timejuga.
gauteh

Jawaban:

373

Ke tardan gzipfolder, sintaksnya adalah:

tar czf name_of_archive_file.tar.gz name_of_directory_to_tar

Ini -opsional. Jika Anda ingin ke tardirektori saat ini, gunakan .untuk menunjuk itu.

Untuk membangun nama file Anda, gunakan dateutilitas (lihat halaman manualnya untuk opsi format yang tersedia). Sebagai contoh:

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

Ini akan membuat file bernama sesuatu seperti 20120902-185558.tar.gz.

Di Linux, kemungkinan Anda tarjuga mendukung kompresi BZip2 dengan opsi jalih - alih z. Dan mungkin yang lainnya. Periksa halaman manual pada sistem lokal Anda.

Tikar
sumber
1
Ini sempurna, terima kasih. Saya punya satu masalah kecil. Setelah membuat file tar / var / www, ia ditempatkan di dalam direktori / var / www di file tar. Inilah kode yang saya gunakan sekarang sudo tar -czf ~/www_backups/$time.tar /var/www/"Bayangkan saya memiliki file bernama test.txt di dalam / var / www. Setelah membuat salinan tar file, ketika saya mengekstraknya akan ditempatkan di dalam direktori / var / www. Apakah itu masuk akal? Kuharap begitu, agak sulit dijelaskan. Saya akan memeriksa dukungan BZip2, terima kasih atas sarannya!
qwerty
1
Itu sebabnya Anda pertama kali cdke direktori yang ingin Anda paket, kemudian tar cf file.tar .- yang terakhir .daripada menentukan path lengkap akan membuat path di dalam arsip relatif terhadap direktori saat ini. Anda juga bisa menggunakan -Copsi untuk tar (lihat halaman manual).
Mat
1
Yup, itu bekerja lebih baik. Terima kasih banyak, hargai itu!
qwerty
3
@Qwertylicious -f(dari halaman manual)Read the archive from or write the archive to the specified file.The filename can be - for standard input or standard output.
Kolob Canyon
1
sudoada dalam pertanyaan, tidak berubah atau mempertanyakan itu. Memiliki direktori target cadangan terbatas pada root bukan ide yang buruk.
Mat