Perintah Tar di Linux dengan Contoh Praktis

Dalam posting ini, kita akan mempelajari perintah tar di linux dengan contoh praktis. Perintah

Tar digunakan untuk membuat arsip beberapa file dan direktori menjadi satu file arsip, ekstensi file arsip akan selalu ‘.tar’. Tar selanjutnya dapat mengompres file yang diarsipkan menggunakan teknik gzip dan bzip2. Tar adalah singkatan dari ‘Tape archive’ dan digunakan untuk membuat dan mengekstrak file arsip dari baris perintah. Tar juga dapat diperlakukan sebagai command line backup and restore utility.

Syntax
# tar

Options:
-c : create a new archive-f : Archive file name-t, –list : daftar isi arsip-x, –extract, –get :  ekstrak file dari arsip-d, –diff, –bandingkan :  temukan perbedaan antara arsip dan sistem file–delete : Hapus dari arsip.-r, –append : menambahkan file ke akhir arsip-v : Verbose output-u, –update : hanya menambahkan file yang lebih baru daripada menyalin di arsip-X, –exclude-from=file : mengecualikan pola yang tercantum dalam file-C, –directory=DIR: Ubah ke DIR sebelum melakukan operasi apa pun.-j, – bzip2 : Kompres dan ekstrak arsip melalui bzip2-J, –xz : Kompres dan ekstrak arsip melalui xz-z, –gzip : Kompres dan ekstrak arsip melalui gzip
Catatan: tanda hubung ( – ) pada perintah tar saat menggunakan opsi adalah opsional.

Without penundaan lebih lanjut, mari masuk ke contoh perintah tar.

1) Membuat file arsip

Mari buat file tar dari /etc dire ctory dan file ‘/root/anaconda-ks.cfg’, run
# tar -cvf archive.tar /etc /var/log/syslog

Perintah di atas akan membuat file tar dengan nama “archive.tar” di folder saat ini. File tar berisi semua file dan direktori folder /etc dan /var/log/syslog file.

Dalam perintah di atas, opsi ‘-c’ menentukan untuk membuat file tar, ‘-v’ digunakan untuk keluaran verbose dan ‘-f ‘ digunakan untuk menentukan nama arsip.
# ls -l archive.tar -rw-r–r– 1 root root 12554240 7 Okt 08:25 archive.tar #

2) Daftar isi file arsip

Use ‘-t ‘ dalam perintah tar untuk melihat konten file tar tanpa mengekstraknya.
# tar -tvf archive.tar

Mendaftarkan file atau direktori tertentu dari file tar. Pada contoh di bawah ini, kami mencoba membuat daftar apakah file ‘syslog’ ada di file tar atau tidak.
# tar -tvf archive.tar var/log/syslog -rw-r—– syslog/adm 951215 2022-10-07 08:18 var/log/syslog #

3)  Opsi Tambahkan file ke archive

‘-r’ pada perintah tar digunakan untuk menambahkan atau menambahkan file ke file arsip yang ada. Mari tambahkan file /var/log/auth.log ke archive.tar, run
# tar -rvf archive.tar /var/log/auth.log

Verifikasi apakah file ditambahkan atau tidak, run
# tar -tvf archive.tar var/log /auth.log -rw-r—– syslog/adm 52790 2022-10-07 08:30 var/log/auth.log #

Catatan: Pada file Compressed tar kita tidak dapat menambahkan file atau directory.

4 ) Ekstrak file arsip

Untuk mengekstrak file arsip, gunakan opsi ‘-x’ pada perintah tar seperti yang ditunjukkan di bawah ini.
# tar -xvf archive.tar

Perintah di atas akan mengekstrak semua file dan direktori dari file archive.tar di direktori kerja saat ini.

5) Ekstrak arsip tar ke folder tertentu

Jika Anda ingin mengekstrak file tar ke folder atau direktori tertentu, gunakan opsi ‘-C’ diikuti dengan jalur folder. Contoh di bawah ini
# tar -xvf archive.tar -C /tmp/

6) Ekstrak file tertentu dari file arsip tar

Misalkan kita ingin mengekstrak file “/etc/netplan/01-network-manager-all.yaml” dari arsip di bawah /tmp folder.

Syntax : # tar -xvf {tar-file } {file-to-be-extracted } -C {path-where-to-extract}
# tar -xvf archive.tar etc/netplan/01- network-manager-all.yaml etc/netplan/01-network-manager-all.yaml # # ls -l etc/netplan/01-network-manager-all.yaml -rw-r–r– 1 root root 104 Aug 9 12:55 etc/netplan/01-network-manager-all.yaml #

7) Membuat dan mengompresi file arsip (gzip)

Kita dapat mengompresi file arsip saat membuatnya, mari kita asumsikan bahwa kita ingin membuat file tar dari /etc dan /opt folder dan juga ingin mengompresnya menggunakan alat gzip. Ini dapat dicapai dengan menggunakan opsi ‘-z’ dalam perintah tar. Ekstensi file tar tersebut akan berupa tar.gz atau .tgz
# tar -zcpvf archive.tar.gz /etc/ /opt/ Atau # tar -zcpvf archive.tgz /etc/ /opt/

8) Buat dan kompres file arsip (bzip2)

Mari kita asumsikan bahwa kita ingin membuat file tar terkompresi (bzip2) dari folder /etc dan /opt. Ini dapat dicapai dengan menggunakan opsi (-j) pada perintah tar. Ekstensi file tar tersebut akan berupa tar.bz2 atau .tbz
# tar -jcpvf archive.tar.bz2 /etc/ /opt/ Atau # tar -jcpvf archive.tbz2 /etc/ /opt/

9) Kecualikan jenis file tertentu saat membuat archive

Menggunakan opsi “–exclude” dalam perintah tar, kita dapat mengecualikan jenis file tertentu saat membuat file arsip. Mari kita asumsikan kita ingin mengecualikan jenis file html saat membuat file tar terkompresi, run
# tar -zcpvf archive.tgz /var/ /opt/ –exclude=*.html

10) Daftar isi arsip terkompresi (tar.gz atau .tgz)

Isi arsip terkompresi dengan ekstensi tar.gz atau .tgz dicantumkan dengan menggunakan opsi ‘-t’. Contoh ditunjukkan di bawah ini :
# tar -tvf archive.tgz | more

output,

11) Daftar isi arsip terkompresi (tar.bz2 atau .tbz2)

Isi file tar dengan ekstensi .bz2 atau .tbz2 dilihat dengan menggunakan opsi ‘-t’. Contoh ditunjukkan di bawah ini :
# tar -tvf archive.tbz2 | more or # tar -tvf archive.tar.bz2 | more

12) Ekstrak file arsip terkompresi (tar.gz atau .tgz)

tar file dengan ekstensi tar.gz atau .tgz diekstraksi dengan opsi ‘-x’ dan ‘-z’ seperti gambar di bawah ini,
# tar -zxpvf archive.tgz -C /tmp/

Perintah di atas akan mengekstrak file tar di bawah direktori /tmp.

Catatan : Sekarang perintah tar beberapa hari akan menangani jenis file kompresi secara otomatis saat mengekstrak, itu berarti opsional bagi kita untuk menentukan jenis kompresi dalam perintah tar. Contoh di bawah ini :
# tar -xpvf archive.tgz -C /tmp/

13) Ekstrak arsip terkompresi (tar.bz2 atau .tbz2)

Archive file dengan ekstensi tar.bz2 atau .tbz2 diekstraksi menggunakan opsi ‘-j’ dan ‘-x’. Contoh di bawah ini
# tar -jxpvf archive.tbz2 -C /tmp/ Atau # tar xpvf archive.tbz2 -C /tmp/

14) Menjadwalkan pencadangan dengan perintah tar

Ada beberapa skenario waktu nyata di mana kita harus membuat file tar dari file tertentu dan direktori untuk tujuan pencadangan setiap hari. Misalkan kita harus mengambil cadangan seluruh /opt folder setiap hari, ini dapat dicapai dengan membuat tugas cron dari perintah tar. Contoh di bawah ini :
# tar -zcvf optbackup-$(date +%Y-%m-%d).tgz /opt/

Buat cron job untuk perintah di atas.

15) Buat dan kompres file arsip dengan -T dan – Opsi X

Dalam aktivitas sehari-hari, admin sistem mungkin perlu mengecualikan dan menyertakan file saat membuat arsip menggunakan perintah tar. Ini dapat dicapai dengan menggunakan file include ( -T) dan mengecualikan (-X) dalam perintah tar.

In file input perintah tar ditentukan setelah opsi ‘-T’ dan file yang terdiri dari daftar pengecualian ditentukan setelah opsi ‘-X’ .

Mari kita asumsikan kita ingin mengarsipkan dan mengompresi direktori seperti /etc , /opt dan /home dan ingin mengecualikan file ‘/etc/sysconfig/kdump’ dan ‘/etc/sysconfig/foreman’, Create a text file ‘/ root/tar-include’ dan ‘/root/tar-exclude’ dan letakkan konten berikut di masing-masing file.
# cat /root/tar-include /etc /opt /home # # cat /root/tar-exclude /etc /sysconfig/kdump /etc/sysconfig/foreman #

Sekarang jalankan perintah di bawah ini,
# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root /tar-exclude

16) Melihat ukuran file .tar, .tgz dan .tbz2

Gunakan perintah tar berikut untuk melihat ukuran file arsip terkompresi.
# tar -czf – data.tar | wc -c 427 # tar -czf – archive.tgz | wc -c 1450527 # # tar -czf – archive.tbz2 | wc -c 1206287 #

17) Pisahkan file tar besar menjadi file yang lebih kecil

Di Linux seperti sistem operasi, file besar dibagi atau dipecah menjadi file yang lebih kecil menggunakan perintah split. File tar besar juga dapat dibagi menjadi bagian-bagian yang lebih kecil menggunakan perintah split.

Mari kita asumsikan kita ingin membagi file ‘bigarchive.tgz’ menjadi bagian-bagian yang lebih kecil masing-masing 6 MB.

Syntax :  split -b . “prefix-name”
# split -b 6M bigarchive.tgz bigarchive-parts

Perintah di atas akan membagi file bigarchive.tgz menjadi file yang lebih kecil masing-masing berukuran 6 MB di direktori kerja saat ini dan nama file split akan dimulai dari bigarchive-partsaa…bigarchive -partsag. Jika Anda ingin menambahkan angka sebagai ganti abjad, gunakan opsi ‘-d’ pada perintah split di atas.
# ls -l bigarchive-parts* -rw-r–r– 1 root root 6291456 7 Okt 10: 43 bigarchive-partsaa -rw-r–r– 1 root root 6291456 7 Okt 10:43 bigarchive-partsab -rw-r–r– 1 root root 6291456 7 Okt 10:43 bigarchive-partsac -rw-r –r– 1 root root 6291456 7 Okt 10:43 bigarchive-partsad -rw-r–r– 1 root root 6291456 7 Okt 10:43 bigarchive-partsae -rw-r–r– 1 root root 6291456 7 Okt 10:43 bigarchive-partsaf -rw-r–r– 1 root root 6291456 7 Okt 10:43 bigarchive-partsag #

Sekarang kita dapat memindahkan file-file ini ke server lain melalui jaringan dan kemudian kita dapat menggabungkan semua file file ke dalam file terkompresi tar tunggal menggunakan perintah cat di bawah ini.
# cat bigarchive-parts* > bigarchive.tgz #

Itu saja dari posting, saya harap Anda telah mempelajari perintah tar dengan contoh praktis di atas. Silakan bagikan pertanyaan dan umpan balik Anda di bagian komentar di bawah ini.

Baca Juga: Cara Membandingkan File di Linux dengan Command
yang berbeda