Rabu, 27 Januari 2016

Scrip Backup data OK


1. Pada server asal (PAJAJARAN), kita buat ssh key dengan perintah dibawah ini:


[root@PAJAJARAN~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
be:65:5f:a1:b0:90:66:3d:ab:77:36:85:7e:62:7b:02 root@PAJAJARAN
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         o       |
|        S +  ..  |
|       + .E=.... |
|        . =o...  |
|         =..O.o  |
|        o. +oB   |
+-----------------+


Tekan tombol enter untuk menyimpan file key secara default, dan untuk passphrase, kita kosongkan (teka tombol enter). Dari output diatas, kita sudah memiliki rsa key di lokasi /root/.ssh/

2. Yang akan kita gunakan yakni public key (/root/.ssh/id_rsa.pub). Kita buka isi file tersebut, dan nantinya key ini akan kita simpan di server tujuan remote (SRIWIJAYA). Masih di server PAJAJARAN, kita buka file /root/.ssh/id_rsa.pub:
 
atau
 
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+
The public key is now located in /home/demo/.ssh/id_rsa.pub The private key (identification) is now located in /home/demo/.ssh/id_rsa

Step Three—Copy the Public Key

Once the key pair is generated, it's time to place the public key on the virtual server that we want to use.
You can copy the public key into the new machine's authorized_keys file with the ssh-copy-id command. Make sure to replace the example username and IP address below.
ssh-copy-id user@123.45.56.78
Alternatively, you can paste in the keys using SSH:
cat ~/.ssh/id_rsa.pub | ssh root@172.16.9.38 "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"
 
 
5. Dari server PAJAJARAN, kita coba lakukan remote login ssh dengan perintah:

[root@PAJAJARAN ~]# ssh root@172.16.9.38
Last login: Sat Feb  8 22:14:53 2014 from 192.168.1.100
[root@SRIWIJAYA ~]#


Dari hasil output diatas terlihat bahwa server PAJAJARAN tidak perlu memasukkan password lagi dan sudah bisa masuk ke server SRIWIJAYA.

TAHAP KEDUA, kita akan membuat bash script untuk backup di server remote (PAJAJARAN)


Pertama, kita lakukan test untuk mengambil file backup dari server SRIWIJAYA. Perintah yang digunakan:

[root@PAJAJARAN ~]# rsync -avz root@172.16.9.38:/mnt/YACC /home/cloud/backup


Dengan perintah diatas, kita akan mengambil filedata yang berada di server SRIWIJAYA dan menempatkannya dilokasi /home/BACKUPCONIG/sriwijaya. Untuk folder BACKUPCONFIG kita harus membuatnya terlebih dahulu di server PAJAJARAN dengan mkdir. Sedangkan untuk direktori sriwijaya akan dibuat secara otomatis oleh perintah diatas. 

Berikutnya, kita akan melakukan kompresi terhadap direktori yang sudah di backup, dan memberikan nama file berdasarkan waktu. Misalnya nama file backup yang kita kehendaki yakni : tahun-bulan-tanggal-namafile, contohnya: 20140110-backup.tar.gz. Berikut perintah untuk melakukan kompresi file backup tersebut:
[root@PAJAJARAN ~]# cd /home/cloud/backup/
[root@PAJAJARAN BACKUPCONFIG]# tar -czf 20140110-backup.tar.gz sriwijaya/
[root@PAJAJARAN BACKUPCONFIG]# ls
20140210-backup.tar.gz  sriwijaya


Dari perintah diatas, kita harus masuk terlebih dahulu kedalam direktori dimana hasil backup disimpan, dalam hal ini kita masuk ke direktori BACKUPCONFIG.
Perintah :

[root@PAJAJARAN BACKUPCONFIG]# tar -czf 20140110-backup.tar.gz sriwijaya/


Bisa diganti dengan :

[root@PAJAJARAN BACKUPCONFIG]# tar -czf $(date +%Y%m%d)-backup.tar.gz sriwijaya/


Setelah mencoba perintah diatas, kita akan membuat script untuk menggabungkannya agar mempermudah dalam proses penjadwalan nantinya. Kita buat script dengan nama myBackup.sh:
[root@PAJAJARAN ~]# nano myBackup.sh


Isi script myBackup.sh :

#!/bin/bash
#script by semoetz
 
#Step 1 : Sinkronisasikan file sumber
rsync -avz root@172.16.9.38:/mnt/YACC /home/cloud/backup

#Step 2 : Masuk ke direktori BACKUPCONFIG
cd /home/cloud/backup

#Step 3 : lakukan kompresi terhadap file yang sudah di backup
tar -czf $(date +%Y%m%d)-backup.tar.gz sriwijaya/

#Step 4 (optional) : Hapus folder sriwijaya untuk menghemat space
rm -rf sriwijaya


Ubah hak akses agar dapat dieksekusi:

[root@PAJAJARAN ~]# chmod a+x myBackup.sh


Lakukan pengujian script :

[root@PAJAJARAN ~]# ./myBackup.sh 
receiving incremental file list
created directory /home/BACKUPCONFIG/sriwijaya
filedata/
filedata/configacl.txt
filedata/configrouter.txt
filedata/configssh.txt

sent 72 bytes  received 297 bytes  246.00 bytes/sec
total size is 63  speedup is 0.17


Apabila output seperti diatas, maka kita telah berhasil menjalankan script dengan benar, dan kita bisa memeriksanya dengan perintah:

[root@PAJAJARAN ~]# ls /home/cloud/backup/
20140131-backup.tar.gz



TAHAP KETIGA, kita akan membuat system backup dengan cron:


Dari contoh kasus diatas, kita akan melakukan backup file setiap hari pada pukul 23:45. Kita akan menggunakan cron dengan perintah:

[root@PAJAJARAN ~]# nano /etc/crontab


Kita masukkan script myBackup.sh kedalam cron, dengan parameter sebagai berikut:

#Backup setiap hari pukul 13:10
10 13    * * *  root    /home/cloud/test/myBackup.sh


Restart service crond, dengan perintah:

[root@PAJAJARAN ~]# service crond restart
Stopping crond:                                            [  OK  ]
Starting crond:                                            [  OK  ]


Sampai tahap ini, proses membangun system backup secara otomatis sudah dibuat. Jangan lupa untuk melakukan pemeriksaan terhadap file yang sudah kita backup, apakah berhasil atau tidak. Tutorial ini adalah versi otodidak dari penulis, mungkin diluar sana masih banyak berbagai cara yang lebih terstruktur dan bisa dipelajari sesuai kebutuhan kita.
 

Tidak ada komentar:

Posting Komentar