Rabu, 03 September 2008

Backup data otomatis

Backup data merupakan hal yang sangat diharus kan didalam menyelamatkan data yang telah disimpan, jika suatu komputer rusak atau terjadi kehilangan data maka backup adalah jalan yang terakhir untuk menemukan data tersebut. dan didalam membeckup data ada berbagai macam cara, disini penulis ingin menjelaskan tentang membeckup data otomatis dilinux dengan menggunakan rsync dan menjalankanya dengan crontab dibantu dengan ssh.

Menyalin data dengan Rsync
Rsync merupakan aplikasi untuk menyalin data dengan kecepatan yang tinggi,
dalam menyalin data dengan rsync yang perlu di perhatikan adalah garis miring (/)
yang menentukan data yang aka di salin.
contoh :
rsync -av -e ssh /home/yusuf/folder_data ucuy@192.168.1.5:/mnt/hdb/backup/yusuf

maksudnya adalah menyalin data yang ada di folder_data ke komputer ber-IP 192.168.1.5
di dalam folder yusuf

Ssh tanpa Password
Ssh merupakan aplikasi yang membantu untuk mentransfer data, dan cara ssh tanpa password akan dijelaskan secara singkat disini.
disini ada 2 komputer yang kita gunakan,
1.komputer yusuf "yusuf@localhost yusuf$"
2.komputer ucuy "ucuy@localhost ucuy$"

yang pertama kita harus membuat passkey, caranya adalah:
mengetikan sintak ini "ssh-keygen -t dsa
lalu di enter, seperti contoh dibawah ini:

yusuf@localhost yusuf$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key
(/home/yusuf/ .ssh/id dsa):
Create directory '/home/yusuf/ .ssh'
Enter passphrase (empty for no passphrase):

Enter same passphrase again:
Your identification has been saved in
/home/yusuf/ .ssh/id dsa.
your public key has been saved in
/home/yusuf/ .ssh/id dsa.pub.
The key fingerprint is:
03:04:d4:ac:8a:19:d4:f2:47:0b:0c:16:ad:c3:32:19
yusuf@localhost

Setelah itu biarkan file id_dsa sesuai dengan default, tekan untuk melanjutkan, kosongkan passphrase dengan cara menekan enter 2 kali.
kemudian kita mentransfer kunci publik 'id_dsa' yang baru saja dibuat ke komputer ucuy@localhost ucuy$ :

yusuf@localhost yusuf$ cat .ssh/id dsa.pub | ssh ucuy@localhost 'cat>> .ssh/authorized keys'
The authenticity of host 'ucuy (ucuy)' can't be established.
RSA key fingerprint is
1c:91:b5:f4:b8:0d:ba:c0:24:91:62:11:24:1a:d1:b7.
Are you sure you want to continue connecting (yes/no)?yes
Warning: Permanently added 'ucuy' (RSA) to the list of known hosts
ucuy@localhost password:
bash: .ssh/authorized keys: No such file or directory

muncul erro diatas karena ada 2 hal, pertama karena ini baru pertama kalinya komputer yusuf mengontak komputer ucuy maka komputer yusuf belum pernah tercatat di file known komputer ucuy, tinggal ketik 'yes' untuk melanjutkan, kedua error karena folder .ssh dikomputer ucuy belum di buat, buat folder secara remote dengan cara:

ucuy@localhost ucuy$ ssh ucuy@192.168.1.5 'mkdir/home/yusuf/ .ssh'
ucuy@localhost ucuy$password:

Setelah folder .ssh dibuat kita kunci publik komputer yusuf ke komputer ucuy:

ucuy@localhost ucuy$ cat .ssh/id dsa.pub | ssh ucuy@localhost 'cat>> .ssh/authorized keys'
ucuy@localhost password:

jika tidak muncul error setelah mengetikan password, maka kita bisa beranjak ke komputer ucuy untuk setting konfigurasi sshd_config. Silahkan login su sebagai root di komputer ucuy
agar dapat mengubah konfigurasi sshd.

[root@localhost ucuy]# vi /etc/ssh/sshd_config
setelah dibuka vi sshd_config selanjutnya cari
'pubkeyauthentication yes'
Authorizedkeyfile .ssh/authorized keys'

Setelah itu restart sshd

[root@localhost ucuy]# /etc/init.d/sshd restart

Terakhir hanya untuk memastikan ubah file permission dan file di home directory user tujuan:

[root@localhost ucuy]# chmod 700 /home/ucuy/ .ssh
[root@localhost ucuy]# chmod 600 /home/ucuy/ .ssh/authorized key'

crond
cron digunakan untuk penjadwalan atau schedule task
dengan cara crond ini maka setiap hari , yang telah ditentukan jadwalnya pada jam berapa saja, maka secara otomatis.
berikut ini cara membuat crond:
masuk ke super user (su) dengan cara mengetikan ' yusuf@localhost yusuf$ su
[yusuf@localhost yusuf]$ password
masukan password user kita
[root@localhost yusuf]#crontab -e
dan edit lah tampilan yg kosong di contab
dengan
30 12 * * * /home/ucuy/.backup.sh
00 05 * * * /root/usr/bin/halt

setelah kita buat semua

masukkan rsync yg telah kita buat di vi bakcup.sh
dan juga memasukan [
cat .ssh/id dsa.pub | ssh ucuy@localhost 'cat>> .ssh/authorized keys']
kedalam vi backup.sh, lalu simpan file .sh tersebut kedalam /home/ucuy/.backup.sh
dan di vi crontab -e kita isi dengan :
1. rsync -av -e ssh /home/yusuf/folder_data ucuy@192.168.1.5:/mnt/hdb/backup/yusuf
2. cat .ssh/id dsa.pub | ssh ucuy@localhost 'cat>> .ssh/authorized keys'
lalu simpan
maka rsync yg telah kita buat ini akan secara otomatis berjalan pada jam 12 : 30 setiap hari.
silahkan dicoba
by
ucuy marucuy

3 komentar:

muhammad yusuf mengatakan...

ucuy kereeen

Data_Cris mengatakan...

KATRO
KATRO
NDESO
NDESO
GAK MUTU
GAK PENTING
yang keren apa nya yah

Anonim mengatakan...

AH.. payah sms nya

mana... mana...
disuruh daftar koq masih error.

ndeso..