Archive

Posts Tagged ‘screen’

Memindahkan banyak file saat pindah hosting

Hari ini saya dapat tugas untuk memindahkan hosting website dan aplikasi lainnya dari hosting yang ada di pasarhosti*g (sebut saja server A) ke server VPS yang ada di MasterWebN*t (server B). Dan hal pertama yang terpikir oleh saya adalah “Ah, gampang, langsung aja download file-file yang ada di server A, lalu upload ke server B”. Tapi, setelah dilihat-lihat lagi, ternyata file yang hendak dipindahkan itu berjumlah ribuan dan ukurannya kurang lebih 250MB. Hmmm, kalau pakai cara ini sangat tidak efektif. Usaha untuk mengarsipkan banyak file tersebut menjadi satu file zip pun akan menjadi sia-sia karena jika koneksi putus di tengah jalan, maka harus mengulang dari awal lagi.

Alternatif lain yaitu dengan menggunakan fasilitas remote backup dari cpanel, tapi lagi-lagi cara ini kurang cocok karena berhubung filenya cukup besar jadi kita harus menunggu terus-terusan, artinya kita tidak boleh menutup browser saat proses sedang berjalan. Yang saya cari adalah bagaimana proses transfer tersebut bisa berjalan di background tanpa kita harus menunggu terus di depan layar monitor.

Nah, alternatif yang paling mungkin adalah melakukan remote ssh ke server A lalu melakukan upload ke server B dari server A. Tapi lagi-lagi sayang karena saya tidak punya akses ssh ke server A, hanya FTP yang diperbolehkan karena paket yang dipakai adalah paket hosting biasa. Nah, alternatif terakhir adalah dengan remote ke server B lalu men-download file-file yang ada di server A dari server B. Oh ya, satu lagi yang kita perlukan adalah screen, sebuah program untuk menyimpan session ssh kita walaupun kita menutupnya, artinya kita dapat meninggalkan proses berjalan di background.

Pertama-tama, login ssh ke server B:

$ ssh username@serverB

Jalankan screen:

$ screen

Download file-file yang ada di server A menggunakan wget:

$ wget -r –level=0 ftp://username:password@serverA/www/* -P /var/www

Path /www/* adalah path dimana semua website/aplikasi yang ada di server A yang ingin kita copy ke server B, sedangkan /var/www adalah path yang ada di server B untuk menyimpan hasil copy dari server A. Opsi -r artinya kita mengambil semua file dan folder secara recursive (semua subfolder juga ikut), level=0 artinya kedalaman subfolder yang akan diambil tidak ada batasan atau semua diambil.

Setelah itu Anda dapat menutup window terminal tanpa harus takut proses transfer berhenti karena kita telah menggunakan screen untuk menyimpan session ssh. Anda bisa melanjutkan pekerjaan yang lain atau mungkin sambil nonton dorama 😛

Selanjutnya kita dapat kembali melihat apakah proses transfer sudah selesai atau belum dengan kembali melakukan remote ke server B, lalu jalankan:

$ screen -r

Dan, voiillaa, kita kembali ke session yang kita tinggalkan tadi 😀

Bagaimana? Mudah bukan? 😀

Categories: Tips 'n trick Tags: , , ,