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_rsaStep 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.78Alternatively, 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:
Pertama, kita lakukan test untuk mengambil file backup dari server SRIWIJAYA. Perintah yang digunakan:
Bisa diganti dengan :
Isi script myBackup.sh :
Ubah hak akses agar dapat dieksekusi:
Lakukan pengujian script :
Kita masukkan script myBackup.sh kedalam cron, dengan parameter sebagai berikut:
Restart service crond, 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