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.
- Membuat file arsip dengan nama
file.tardarifile1.txtTANPA COMPRESI
tar -cvf file.tar file1.txt
- Membuat file arsip bernama
file.tar.gzdarifile1.txtDENGAN COMPRESI gzip.
tar -czvf file.tar.gz file1.txt
- Membuat file arsip bernama
folder.tar.gzdarifolderDENGAN COMPRESI gzip.
tar -czvf folder.tar.gz ./folder
untuk meng-compress folder harus diberikan path ke folder itu. ./ artinya current folder.
- Membuat file arsip bernama file1.tar.bz dari file1.txt DENGAN COMPRESI bzip2.
tar cjvf file1.tar.bz file1.txt
- Membuat file arsip bernama
folder.tar.bzdarifolderDENGAN COMPRESI bzip2
tar cjvf folder.tar.bz ./folder
- Melihat isi
file1.tartanpa mengekstrak
tar -tf file1.tar
- Melihat isi file COMPRESI gzip dengan nama
file1.tar.gztanpa mengekstrak.
tar -tf file1.tar.gz
- Melihat isi file COMPRESI dengan bzip2 dengan nama file1.tar.bz tanpa mengekstrak
tar -tf file1.tar.bz
- Ekstrak file arsip TANPA COMPRESI dengan nama
file1.tar
tar -xvf file1.tar
- 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.
- Ekstrak file arsip dengan COMPRESI gzip bernama
file1.tar.gzke folderekstrak.
tar -xzvf file1.tar.gz -C ./ekstrak
-C adalah option untuk ekstrak ke folder tertentu. ./ekstrak artinya folder ekstrak berada di dalam current folder.
- Ekstrak file tertentu bernama
file3-1.txtdari file arsipfolder.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
- Ekstrak file tertentu bernama
file3-1.txtdari file arsipfolder.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
- Ekstrak file tertentu bernma
file3-1.txtdari file arsipfolder.tar.gzHasil ekstrak diarahkan kefolderbaru. Tapifolderbarubelum ada, sehingga harus dibuat dulufolderbarukemudian 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$
- Menambah file
test.txtke dalam file arsipfolder.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.
- Mencari
file3-1.txtdalam file arsipfolder.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
- Menambahkan waktu (time stamp) secara otomatis pada nama file saat file archive dibuat.
Misalnya membuat file dengan compressi gzip bernamabackup.tar.gzuntuk 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.
ini perintah dasar linux untuk compress atau decompress files ya, wah artikelnya bagus nih….
LikeLike