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.tar
darifile1.txt
TANPA COMPRESI
tar -cvf file.tar file1.txt
- Membuat file arsip bernama
file.tar.gz
darifile1.txt
DENGAN COMPRESI gzip.
tar -czvf file.tar.gz file1.txt
- Membuat file arsip bernama
folder.tar.gz
darifolder
DENGAN 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.bz
darifolder
DENGAN COMPRESI bzip2
tar cjvf folder.tar.bz ./folder
- Melihat isi
file1.tar
tanpa mengekstrak
tar -tf file1.tar
- Melihat isi file COMPRESI gzip dengan nama
file1.tar.gz
tanpa 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.gz
ke 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.txt
dari 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.txt
dari 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.txt
dari file arsipfolder.tar.gz
Hasil ekstrak diarahkan kefolderbaru
. Tapifolderbaru
belum ada, sehingga harus dibuat dulufolderbaru
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$
- Menambah file
test.txt
ke 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.txt
dalam 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.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
.