Backup dengan ssh dan scp

September 28, 2007

Saya memiliki sebuah web server dengan load yang sangat besar karena web saya ini adalah sebuah portal yang sangat besar dan terkenal. Saya ingin setiap akses log dari web page saya tercatat di sebuah server backup, sehingga saya bisa memantau perkembangan situs portal saya serta bisa menjadikannya sebagai daya tarik kepada para pemasang iklan. Bagaimana saya bisa membuat sebuah mesin backup yang bisa mengambil data log dari server web saya tersebut?

Suatu hari, seseorang bertanya kepada Anda dengan pertanyaan seperti di atas. Apa yang sebaiknya dilakukan ?
Anda mulai berpikir untuk melakukan mirroring server dengan rsync atau sejenisnya. efektifkah menggunakan aplikasi mirroring semacam rsync hanya untuk mengambil data seberat file log dari page view sebuah web? Keadaan akan menjadi lain jika kita membicarakan file log dari portal yang benar2 besar macam detik.com misalnya. Jangan salah, file log perhari detik.com bisa mencapai angka 20Gb !!

Kemudian apa yang bisa digunakan untuk membuat sebuah server backup yang handal untuk kebutuhan ini? Coba ikuti cara saya, kemudian silakan beri komentar Anda..

Pertama, siapkan sebuah skenario seperti ini:

[web server]——-//——–[backup server]

Sederhana bukan? Syarat utama yang harus dipenuhi adalah, kedua mesin diatas harus bisa saling berinteraksi. Dan server backup tidak harus ber-IP publik. Bisa saja seperti ini, web server memiliki 2 interface, satu interface dengan ip publik dan terhubung ke internet dan satu interface lagi dengan ip privat dan terhubung ke server backup baik direct (langsung) maupun menggunakan sebuah switch. Jadilah kedua mesin tersebut terhubung..

Saya set kondisi spt ini:
1. Web server dengan OS unix, ip privat 10.10.10.1/24
2. Backup server dengan OS Unix, ip 10.10.10.2/24
3. Secure Shell (ssh) berjalan dengan baik di antara keduanya.

Next, kita langsung login ke Mesin backup-nya.
Langkah pertama yang dilakukan adalah membuat agar mesin server web kita percaya kepada mesin backup untuk melakukan koneksi ssh tanpa harus menyerahkan password. Caranya adalah dengan menciptakan sebuah key dengan generator ssh yang nantinya akan di”tanam” di mesin server target.

———————-<command>—————————

# ssh-keygen -t rsa

———————-<EOC>——————————-

Setelah Anda menekan enter, akan muncul beberapa pertanyaan, tinggalkan saja default dengan menekan enter. Maka Anda akan mendapatkan dua buah key yang masing2 akan diletakkan di mesin server target dan mesin backup. Cara mengirim ke mesin target adalah sbb:

———————-<command>—————————

# scp ~/.ssh/id_rsa.pub 10.10.10.1:.ssh/authorized_keys2
root@10.10.10.1’s password: ********* #masukkan password root mesin target.
id_rsa.pub 100% 225 0.0KB/s 00:00
#

———————-<EOC>——————————-

OK, sejauh ini Anda telah bisa melakukan koneksi ssh ke server target tanpa diminta password, silakan dicoba.

Berikutnya adalah membuat sebuah file yang akan bertugas melakukan peng-copy-an file target dan meletakkan pada sebuah folder di mesin backup. Misal file log berada di folder /var/log/httpd_log/access_log_$tgl di mesin target. Dan akan di letakkan di folder /var/backup/ pada mesin backup.
Caranya, buat sebuah file ssh-scp di mesin backup, yang misalnya berada di /etc/backup.sh sbb:

———————-<code>——————————

#!/bin/bash

tgl=$(date +%Y%m%d)
folder=”/var/backup/”

scp 10.10.10.1:/var/log/httpd_log/access_log_$tgl $folder
exit

———————-<EOC>——————————-

Cobalah skrip di atas dengan mengetikkan :

———————-<command>—————————

# sh /etc/backup.sh
#

———————-<EOC>——————————-

Kemudian periksa folder /var/backup/ Anda, seharusnya telah bertambah sebuah file di sana… jika ternyata belum ada, silahkan periksa kembali pekerjaan Anda dari awal. 🙂

OK, satu step lagi.. Buat skrip ini dieksekusi setiap pukul 23:59 malam (tepat sebelum berpindah tanggal, sebab script Anda memerintahkan untuk meng-copy log pada tanggal itu). Tentu saja dengan bantuan crontab, si tepat waktu, he he he.

Selesai. Semoga bermanfaat.

Advertisements

RTFM, kejam kalii…!

September 21, 2007

mas, ajarin jaringan dunk..
mas, caranya edit foto do photoshop gimana siih..?
mas, gimana.. gimana.. gimana…

jawabannya hanya ada dua jenis,
‘baca manualnya aja dek..!’
atau
‘cari aja di google..!’
duh, betapa sakitnya.. saat kita membutuhkan informasi dengan cepat, eh jawaban yang didapat sungguh mengecewakan.
Jika diteliti, secara bebas saya mengelompokkan pola pertanyaan menjadi 3 jenis (ini versi saya, bisa sampeyan kembangkan sendiri.)

Pertama-pertanyaan dari nol. si penanya memang belom tau sama sekali mengenai hal yang ditanyakan. Dalam kata laen, hal yang ditanyakan itu memang bener2 hal baru buat dia.

Kedua-pertanyaan spesifik. Si penanya sudah menguasai konsep, melakukan riset, sudah mencoba, dan di tengah jalan dia menemui kesulitan. Jadi pertanyaan yang diajukan lebih terarah pada satu perhatian saja, bukan secara umum lagi.

Ketiga-pertanyaan menguji/ngetes. Jelas penanya suda mengetahui dengan pasti hal yang ditanyakan, namun hanya ingin mengetahui kemampuan dari pihak yang ditanya. Lebih kepada menguji, bisa karena meremehkan atau tidak meremehkan, seperti halnya atasan yang menguji kemampuan anak buahnya.

Pola pertanyaan pertama paling besar kemungkinannya untuk mendapatkan jawaban yang dingin. RTFM (Read the Fucking Manual) sudah pasti akan mendarat di telinganya. Tidak menyenangkan memang jika harus mendapatkan respon seperti itu, apalagi bila memang kita benar2 ingin mengerti mengenai suatu masalah. Tak bisa disalahkan pihak yang ditanya karena memang tidak mudah menerangkan sesuatu kepada seorang yang samasekali belum mengerti, berarti kita harus menerangkan konsep, basic, dari nol samasekali, apalagi di tengah kesibukan yang lain.

Berbeda halnya dengan penanya jenis kedua. Dia telah menguasai konsep, sudah mengerti dasar. Menjelaskan kepada seorang seperti ini sudah pasti jauh lebih mudah sebab kita tidak perlu lagi menjelaskan dari nol. Langsung tembak saja pada topik yang memang dipertanyakan. Contoh simple, lebih mudah menjelaskan bagaimana caranya menggoreng tempe daripada harus menjelaskan bagaimana proses membuat tempe mulai dari kedelai di sawah hingga manjadi tempe goreng di meja makan.
Pertanyaan jenis ketiga tidak perlu dibahas disini sebab jelas pertanyaan seperti itu sulit sekali diidentifikasi, yang mengetahui secara pasti adalah sudah pasti si penanya dan yang ditanyai.

Solusi..
Sebelum bertanya, cobalah untuk mengerti mengenai hal yang akan ditanyakan, paling tidak dasar atau konsepnya harus dipegang. Beberapa orang memang akan malas jika harus menjelaskan semuanya dari awal.
Jangan lupa juga untuk melihat kondisi pihak yang ditanya ketika Anda bertanya. Jangan sampai ketika seseorang sedang sibuk2nya atau tengah dikejar deadline kemuadian anda menyela dan bertanya, apalagi dengan kondisi Anda tidak mengerti sama sekali mengenai apa yang di tanyakan.

So, just RTFM Brow..!!!

dEekZ_
.indonesian

IPv6, Are You Ready.. ?

September 1, 2007

Hmm… pingin implement ipv6 ni.. tapi gak enak kalo langsung nyerocos tanpa pengantar yang bagus. Kebetulan ada temen yang udah nulis pengantar ipv6 ini.. cukup bagus, bisa dibaca di http://ezine.echo.or.id/ezine7/ez-r07-pangeran_biru-pengenalan%20IPv6.txt

OK, happy reading.

NB: special thanks to pangeran_biru

dEekZ_