17 Cara Menggunakan Perintah Tar di Linux

Tar adalah command line yang sangat penting dalam mengelola server. 17 cara dalam menggunakan perintah tar di linux.

perintah-tar

Pertintah tar adalah salah satu perintah yang selalu saya gunakan dalam membackup wordpress di server. tar berfungsi untuk membuat file arsip (archieve). Bedanya, tar dilakukan melalui perintah teks. tar juga bisa men-compress file seperti Winzip di Windows. Saya akan menjelaskan cara menggunakan perintah tar kemudian trik dalam menggunakan untuk backup.

Format Perintah tar

Perintah tar akan diikuti dengan option dalam bentuk huruf. Setiap option akan diwakili dalam satu huruf. Ini yg membuat tar agak menakutkan keren. Saya akan jelaskan opsi dalam perintah tar

  • c ➡ (create) membuat file tar. File ini belum di compress.
  • x ➡ (extract) ektrak dari file tar.
  • z ➡ (zip) membuat file yang tercompress dengan program gzip.
  • j ➡ (bz2) membuat file yang tercompress dengan program bz2.
  • x ➡ (extract) mengekstrak file tar.
  • v ➡ (verbose) menampilkan progress pembuatan file
  • t ➡ (list) menampilkan daftar file dalam file tar.
  • f ➡ (file) menunjuk pada nama file tar
  • p ➡ (preserve) menjaga file permission saat membuat dan mengekstrak file tar.
  1. Membuat file arsip dengan nama file.tar dari file1.txt TANPA COMPRESI
tar -cvf file.tar file1.txt
  1. Membuat file arsip bernama file.tar.gz dari file1.txt DENGAN COMPRESI gzip.
tar -czvf file.tar.gz file1.txt
  1. Membuat file arsip bernama folder.tar.gz dari folder DENGAN COMPRESI gzip.
tar -czvf folder.tar.gz ./folder

untuk meng-compress folder harus diberikan path ke folder itu. ./ artinya current folder.

  1. Membuat file arsip bernama file1.tar.bz dari file1.txt DENGAN COMPRESI bzip2.
tar cjvf file1.tar.bz file1.txt
  1. Membuat file arsip bernama folder.tar.bz dari folder DENGAN COMPRESI bzip2
tar cjvf folder.tar.bz ./folder
  1. Melihat isi file1.tar tanpa mengekstrak
tar -tf file1.tar
  1. Melihat isi file COMPRESI gzip dengan nama file1.tar.gz tanpa mengekstrak.
tar -tf file1.tar.gz
  1. Melihat isi file COMPRESI dengan bzip2 dengan nama file1.tar.bz tanpa mengekstrak
tar -tf file1.tar.bz
  1. Ekstrak file arsip TANPA COMPRESI dengan nama file1.tar
tar -xvf file1.tar 
  1. Ekstrak file arsip dengan COMPRESI gzip dengan nama file1.tar.gz
tar -xzvf file1.tar.gz

jika format file adalah .bz atau COMPRESI dengan bzip2, maka option z pada perintah di atas, diganti dengan huruf j.

  1. Ekstrak file arsip dengan COMPRESI gzip bernama file1.tar.gz ke folder ekstrak.
tar -xzvf file1.tar.gz -C ./ekstrak

-C adalah option untuk ekstrak ke folder tertentu. ./ekstrak artinya folder ekstrak berada di dalam current folder.

  1. Ekstrak file tertentu bernama file3-1.txt dari file arsip folder.tar.gz. Perintahnya adalah
tar -xzvf folder.tar.gz folder/file3-1.txt

contohnya bisa dilihat di bawah

imran: blog.id$ tar -tf folder.tar.gz
folder/
folder/file3-1.txt        # file yang akan diekstrak
folder/file4-1.txt
folder/file2-1.txt
folder/folder 2-1/
folder/folder 2-1/file3-3.txt
folder/folder 2-1/file4-3.txt
imran: blog.id$ tar -xzvf folder.tar.gz folder/file3-1.txt
x folder/file3-1.txt
  1. Ekstrak file tertentu bernama file3-1.txt dari file arsip folder.tar.gz. Ekstrak diarahkan ke dalam folder ./ekstrak. ./ artinya adalah current folder.
tar -xzvf folder.tar.gz -C ./ekstrak folder/file3-1.txt

-C adalah option untuk mengarahkan ekstrak ke folder tertentu.
contoh bisa dilihat dibawah

imran: blog.id$ tar -tf folder.tar.gz
folder/
folder/file3-1.txt       #file yang akan diekstrak
folder/file4-1.txt
folder/file2-1.txt
folder/folder 2/
folder/folder 2/file3-2.txt
folder/folder 2/file4-2.txt
folder/folder 2/file2-2.txt
imran: blog.id$ tar -xzvf folder.tar.gz -C ./ekstrak folder/file3-1.txt
x folder/file3-1.txt
  1. Ekstrak file tertentu bernma file3-1.txt dari file arsip folder.tar.gz Hasil ekstrak diarahkan ke folderbaru. Tapi folderbaru belum ada, sehingga harus dibuat dulu folderbaru kemudian melakukan ekstrak file. Perintahnya
mkdir folderbaru | tar -xzvf folder.tar.gz -C ./folderbaru folder/file3-1.txt

karena folderbaru belum ada, maka kita buat dulu folderbaru dengan perintah mkdir folderbaru. Tanda | adalah tanda pipe. Artinya, hasil output perintah mkdir akan diarahkan menjadi input pada perintah tar -xzvf.
contoh bisa dilihat dibawah

imran: blog.id$ tar -tf folder.tar.gz
folder/
folder/file3-1.txt       #file ayang akan diekstrak
folder/file4-1.txt
folder/file2-1.txt
folder/folder 2/
folder/folder 2/file3-2.txt
folder/folder 2/file4-2.txt
folder/folder 2/file2-2.txt
imran: blog.id$ mkdir folderbaru | tar -xzvf folder.tar.gz -C ./folderbaru folder/file3-1.txt
x folder/file3-1.txt
imran: blog.id$ 
  1. Menambah file test.txt ke dalam file arsip folder.tar.gz
tar -rvf folder.tar test.txt

option -r berfungsi untuk menambahkan file atau folder ke dalam file arsip. option -r hanya bisa digunakan untuk file arsip .tar TANPA COMPRESI gzip ataupun bzip2.

  1. Mencari file3-1.txt dalam file arsip folder.tar.gz
tar -tvf folder.tar.gz | grep file3-1.txt 

Untuk melakukan pencarian dalam file arsip, ada dua langkah yang harus dilakukan. Pertama, membuar daftar nama file dalam file arsip. Kedua, mencari nama file yang diinginkan dari hasil output daftar nama file pada langkah pertama. Langkah pertama dan kedua dihubungkan dengan tanda | Pipe. Contoh seperti dibawah ini

imran: blog.id$ tar -tf folder.tar.gz
folder/
folder/folder 2/
folder/._.DS_Store
folder/.DS_Store
folder/file3-1.txt     #file yang akan dicari
folder/file4-1.txt
folder/file2-1.txt
folder/folder 2/file3-2.txt
folder/folder 2/file4-2.txt
folder/folder 2/file2-2.txt
imran: blog.id$ tar -tf folder.tar.gz | grep file3-1.txt
folder/file3-1.txt
  1. Menambahkan waktu (time stamp) secara otomatis pada nama file saat file archive dibuat.
    Misalnya membuat file dengan compressi gzip bernama backup.tar.gz untuk folder /var/www/
sudo tar -czvf "$(date '+%Y-%m-%d-%H.%M.%S').backup-file.tar.gz" /var/www/

untuk menambahkan tanggal pada nama file, maka perlu sedikit modifikasi Bash command. "$( <command> )" digunakan untuk memodifikasi perintah bash. date adalah fungsi untuk menambahkan tanggal. %Y-%m-%d-%H.%M.%S adalah format tanggal yaitu tahun-bulan-tanggal-jam.menit.detik. Perlu diperhatikan folder /var/www/ biasanya memerlukan akses root sehingga perlu tambahan perintah sudo.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: