Menyalin file dari komputer remote membutuhkan waktu yang lama, terutama apabila jumlah file yang disalin banyak dan berukuran kecil. Untuk meng-efisienkan proses penyalinan file, dapat digunakan perintah tar
yang dijalankan melalui ssh
.
tar
menggabungkan kumpulan file menjadi sebuah file arsip besar. Menyalin satu file besar akan lebih cepat dibandingkan dengan menyalin banyak file berukuran kecil. Hal ini dikarenakan banyak waktu yang habis digunakan pada proses filesystem untuk memproses file-file yang berbeda.
ssh user@komputer-remote.com "cd /home/user; tar cjf - directory-yang-akan-disalin" | tar xjvf - -C /directory-tujuan
Perintah di atas terdiri dari dua bagian, yaitu:
- Membuka koneksi
ssh
(secure shell) ke komputer remote, dan kemudian melakukanarchiving
terhadap file yang akan disalin menggunakan perintahtar
.tar cjf - directory-yang-akan-disalin
membuatarchive
file yang akan disalin.- Opsi
c
untuk membentukarchive
baru. - Opsi
j
untuk mengkompressarchive
dengan formatbzip2
(gunakanz
untuk formatgzip
atau hilangkan opsi ini untuk tidak melakukan kompresi). - Opsi
f -
memintatar
menuliskan hasilarchive
ke standard output untuk dikirim melalui pipe (|
).
- Opsi
- Meng-extract hasil
archive
pada perintah pertama kedirectory-tujuan
. Input perintah ini adalaharchive
dari perintah pertama yang dikirim melalui pipe (|
).- Opsi
x
melakukan extract. - Opsi
v
menampilkan proses extract. - Opsi
j
melakukan dekompresi terhadaparchive
dengan formatbzip2
. - Opsi
f -
file input dibaca dari standard input. - Opsi
-C /directory-tujuan
lokasi tujuan untuk melakukan extractarchive
.
- Opsi
Happy hacking!