Translate








Rabu, 26 Februari 2014

Mengaktifkan Repositori EPEL untuk Linux CentOS 6

EPEL (Extra Packages for Enterprise Linux) merupakan repositori yang berisi bermacam-macam aplikasi open source penunjang server. EPEL bukanlah bagian dari versi OS tertentu. Dengan EPEL, kita bisa melakukan instalasi paket dengan mudah dan tentunya kompatibel sesuai OS yang kita install. Disini saya menggunakan server dengan Linux centOS 6.5, dan akan saya coba untuk mengaktifkan Repositori EPEL. Syaratnya, kita harus terkoneksi ke internet.

Berikut tahapannya:
  1. Download paket EPEL :
    Untuk CentOS versi 6 32 bit download disini
    Untuk CentOS versi 6 64 bit download disini

  2. Install Paket EPEL yang sudah di download
    [root@SRIWIJAYA ~]# ls
    anaconda-ks.cfg              install.log
    epel-release-6-8.noarch.rpm  install.log.syslog
    [root@SRIWIJAYA ~]# chmod +x epel-release-6-8.noarch.rpm
    [root@SRIWIJAYA ~]# rpm -ivh epel-release-6-8.noarch.rpm
    warning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
    Preparing...                ########################################### [100%]
       1:epel-release           ########################################### [100%]
    
    

  3. Verifikasi Repositori EPEL
    [root@SRIWIJAYA ~]# yum repolist
    Loaded plugins: fastestmirror, security
    Loading mirror speeds from cached hostfile
    epel/metalink                                            | 5.7 kB     00:00
     * c6-media:
     * epel: mirror.rndc.or.id
    epel                                                     | 4.2 kB     00:00
    http://mirror.rndc.or.id/fedora/epel/6/x86_64/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
    Trying other mirror.
    epel                                                     | 4.2 kB     00:00
    epel/primary_db                                          | 5.9 MB     00:14
    repo id           repo name                                               status
    c6-media          CentOS-6 - Media                                         6,367
    epel              Extra Packages for Enterprise Linux 6 - x86_64          10,523
    repolist: 16,890
    
    

  4. Test Install paket dari EPEL, misalnya kita coba untuk install paket "fail2ban" yang akan kita gunakan untuk Tutorial selanjutnya
    [root@SRIWIJAYA ~]# yum install fail2ban
    
    
Sampai disini, kita sudah bisa menginstall paket-paket dari EPEL yang sangat banyak sekali tool-tool powerfull bertebaran disana. :D
{ Read More }


Install Telnet Server di Linux CentOS 6.5

Telnet merupakan salah satu alternatif yang bisa digunakan untuk remote login ke Server yang kita bangun. Service yang digunakan untuk layanan telnet yakni xinetd. Kali ini saya akan mencoba menginstall telnet server di Linux Centos 6.5, dimana nantinya server ini akan di remote dari PC berbasis Windows melalui telnet via command prompt.

Berikut tahapan Instalasi Telnet Server di Linux CentOS:


  1. Install Telnet Server di Linux:
    [root@SRIWIJAYA ~]# yum install telnet telnet-server
    
    

  2. Periksa hasil instalasi telnet
    [root@SRIWIJAYA ~]# rpm -qa | grep telnet
    telnet-0.17-47.el6_3.1.x86_64
    telnet-server-0.17-47.el6_3.1.x86_64
    
    

  3. Aktifkan telnet server pada konfigurasi xinetd
    [root@SRIWIJAYA ~]# nano /etc/xinetd.d/telnet
    
    

    Ubah direktif "disable" menjadi "no" untuk mengaktifkan telnet
    # default: on
    # description: The telnet server serves telnet sessions; it uses \
    #       unencrypted username/password pairs for authentication.
    service telnet
    {
            flags           = REUSE
            socket_type     = stream
            wait            = no
            user            = root
            server          = /usr/sbin/in.telnetd
            log_on_failure  += USERID
            disable         = no
    }
    
    

  4. Restart service xinetd
    [root@SRIWIJAYA ~]# service xinetd restart
    Stopping xinetd:                                           [  OK  ]
    Starting xinetd:                                           [  OK  ]
    
    

  5. Jalankan telnet pada saat startup
    [root@SRIWIJAYA ~]# chkconfig xinetd on
    
    

Test Koneksi Telnet dari PC dengan OS Windows:

C:\>telnet 192.168.1.101


CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64
login: ichigo
Password:
Last login: Mon Feb 24 16:27:10 from 192.168.1.10
[ichigo@SRIWIJAYA ~]$


Secara default, Linux CentOS tidak mengizinkan Login sebagai root untuk telnet. Hal ini untuk alasan security pada server yang kita bangun. Namun apabila kita ingin mengaktifkan login telnet dengan user root, kita bisa melakukannya dengan merubah konfigurasi pada file /etc/securetty : 

[root@SRIWIJAYA ~]# nano /etc/securetty


console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11


Kita ubah dengan menambahkan beberapa baris pada bagian akhir, menjadi seperti dibawah ini :

console
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
pts/0
pts/1
pts/2
pts/3
pts/4
pts/5
pts/6
pts/7
pts/8
pts/9


Simpan perubahan, dan restart service xinetd, lalu coba Login telnet dari PC Windows seperti diatas, tapi kali ini coba login dengan user root. 

CentOS release 6.5 (Final)
Kernel 2.6.32-431.el6.x86_64 on an x86_64
login: root
Password:
Last login: Mon Feb 24 16:24:42 from 192.168.1.10
[root@SRIWIJAYA ~]#


{ Read More }


Kamis, 20 Februari 2014

SFTP dengan CHROOT pada Linux CentOS

Pada Tutorial sebelumnya kita sudah mencoba membangun server FTP sederhana dengan vsftpd.Sekarang saya akan mencoba membangun Sistem serupa dengan menggunakan SFTP (Secure FTP), dengan CHROOT agar user hanya bisa mengakses Direktori yang kita tentukan saja. Perbedaan dari FTP konvensional adalah dari sisi keamanan, dengan SFTP relatif lebih aman dikarenakan ada enkripsi data, perbedaan lainnya yakni dari port default yang digunakan yaitu port 22 sama seperti port SSH, walaupun sebenarnya port ini bisa kita tentukan sendiri.


Untuk membangun SFTP dengan CHROOT, berikut tahapannya:
  1. Instalasi paket Openssh yang dibutuhkan.
  2. Membuat Direktori baru untuk user/client. Direktori ini sebaiknya dipisahkan dari direktori home default. Misalnya kita akan buat seperti ini: /home/ftp/ucox. Direktori "ucox" inilah yang kita sediakan untuk Client.
  3. Membuat User baru untuk Client, misalnya saja user baru tersebut adalah Ucox.
  4. Batasi User Client agar tidak bisa mengakses SHELL.
  5. Lakukan perubahan Hak Akses dan kepemilikan direktori
  6. Konfigurasi pada /etc/ssh/sshd_config
  7. Pengetesan Akses dengan sftp client (WinScp)

1. Instalasi paket openssh yang dibutuhkan


Disini, saya menggunakan Linux CentOS 5.6 32bit. Untuk paket openssh default nya yakni versi 4.3p2xx tidak akan kita gunakan karena tidak support untuk parameter "Match" didalam file konfigurasi ssh. Disini saya menggunakan paket openssh sebagai berikut:

  • openssh-server-6.1p1-5.el5.1.i386.rpm
  • openssh-6.1p1-5.el5.1.i386.rpm
  • openssh-clients-6.1p1-5.el5.1.i386.rpm
  • openssh-askpass-6.1p1-5.el5.1.i386.rpm
  • libedit-20090923-3.0_1.el5.rf.i386.rpm
Paket-paket tersebut sudah saya kumpulkan dan bisa anda download disini, dan paket-paket ini cocok digunakan di CentOS 5.6. Didalam nya sudah saya sertakan untuk CentOS 64 bit juga.


Tahapan instalasi :
[root@MAJAPAHIT openssh]# rpm -ivh openssh-server-6.1p1-5.el5.1.i386.rpm openssh-6.1p1-5.el5.1.i386.rpm openssh-askpass-6.1p1-5.el5.1.i386.rpm libedit-20090923-3.0_1.el5.rf.i386.rpm openssh-clients-6.1p1-5.el5.1.i386.rpm


Jika paket openssh versi bawaan CentOS default sudah terinstall, silahkan uninstall terlebih dahulu karena bisa menyebabkan conflict.

2. Menyiapkan Direktori baru untuk Client

Berikutnya, kita siapkan Direktori baru untuk Home Direktori client. Disini saya akan menyiapkan direktori /ftp didalam /home dengan format: /home/ftp/ucox. Direktori yang perlu dibuat adalah /sftp dan /ucox (bisa langsung dibuat dengan parameter "-d").

[root@MAJAPAHIT ~]# mkdir /home/ftp
[root@MAJAPAHIT ~]# mkdir /home/ftp/ucox



3. Membuat user baru untuk Client


[root@MAJAPAHIT ~]# useradd -d /home/ftp/ucox/ ucox
[root@MAJAPAHIT ~]# passwd ucox



4. Membatasi akses user Client agar tidak bisa mengakses shell,kita ketikkan perintah:


[root@MAJAPAHIT ~]# usermod -s /sbin/nologin ucox


atau kita bisa merubahnya secara manual pada file /etc/passwd.

5. Merubah Hak Akses dan Kepemilikan Direktori.


Berdasarkan hirarki Direktori dibawah ini, kita ubah hak akses untuk direktori /ftp


[root@MAJAPAHIT ~]# chown root:root /home/ftp/



Ubah kepemilikan direktori untuk Client Ucox

[root@MAJAPAHIT ~]# chown ucox:ucox -R /home/ftp/ucox/



6. Konfigurasi file sshd_config


Buka File sshd_config, lalu tambahkan beberapa baris konfigurasi seperti dibawah:

# override default of no subsystems
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

Match User ucox
    ChrootDirectory /home/ftp/
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no


7. Lakukan Test Login dengan WinSCP



Dengan cara-cara diatas, SFTP server kita sudah berjalan, dan user/cliet dengan nama ucox hanya bisa melakukan transfer file dari dan ke direktori nya saja, tidak bisa membuka direktori lain.
{ Read More }


Rabu, 12 Februari 2014

Membangun Sistem Backup Otomatis dengan rsync dan cron di Linux Centos 6

Sebagai pengembangan dari penggunaan rsync dari tutorial sebelumnya, kali ini saya akan coba membangun Sistem Backup secara otomatis yakni dengan cron. Cron bisa kita gunakan untuk penjadwalan tugas berdasarkan waktu yang kita tentukan. Cron merupakan fitur default yang sudah berjalan pada server Linux Centos ketika pertama kali diinstall.

Untuk contoh kasus, saya masih menggunakan topologi sederhana seperti diatas, dimana server SRIWIJAYA akan membackup file dan menyimpannya secara remote di server PAJAJARAN. Disini, rsync akan saya jalankan di server tujuan (PAJAJARAN) untuk melakukan aksi sinkronisasi terjadwal terhadap file yang ada di server SRIWIJAYA. Untuk membangun system backup ini saya akan membaginya kedalam beberapa tahap, yakni:

  1. Login dengan rsa-key (tanpa password) dari server PAJAJARAN ke server SRIWIJAYA
  2. Membuat bash script pada server PAJAJARAN untuk melakukan sinkronisasi file dengan server SRIWIJAYA.
  3. Menambahkan script yang sudah dibuat kedalam cron job, dimana nantinya akan kita jadwalkan untuk menjalankan script setiap pukul 23:45

TAHAP PERTAMA sudah dilakukan dan kita bisa mengikuti tutorial sebelumnya, yakni penggunaan rsa-key untuk login ssh



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@192.168.1.101:/root/filedata /home/BACKUPCONFIG/sriwijaya


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/BACKUPCONFIG/
[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@192.168.1.101:/root/filedata /home/BACKUPCONFIG/sriwijaya

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

#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/BACKUPCONFIG/
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 ~]# crontab –e


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

#Backup setiap hari pukul 23:45
45 23 * * * /root/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.
{ Read More }


Selasa, 11 Februari 2014

Remote login ssh dengan rsa key antar server Linux

Pada artikel sebelumnya saya sudah membahas mengenai bagaimana cara login ssh dengan rsa-key dari host denga Sistem Operasi Windows. Sehingga kita tidak perlu untuk memasukkan password, tapi kita menggunakan key public yang dipasangkan pada remote server, dan opsi lain yakni dengan menambahkan passphrase. Kali ini saya akan menerapkan cara serupa tapi untuk client dengan Sistem Operasi Linux CentOS 6. Konsep nya sama persis seperti rsa key pada client Windows, namun disini saya tidak akan menggunakan passphrase, karena nantinya cara ini akan saya guakan untuk keperluan backup dan monitoring.

Penggunaan ssh dengan autentikasi rsa-key sangat diperlukan untuk keperluan monitoring ataupun backup, karena untuk keperluan tersebut biasanya akan dijalankan secara otomatis, sehingga kita tidak perlu memasukkan password ketika hendak mengakses server lain yang akan kita monitor atau backup tersebut. Dengan cara ini kita bisa membuat script yang akan kita jalankan secara otomatis dengan menggunakan cron. Untuk contoh kasus disini saya akan menunjukkan authentikasi sederhana dengan rsa key dari server PAJAJARAN ke server SRIWIJAYA, sehingga untuk login ssh tidak perlu memasukkan password.

Berikut tahapan pengerjaannya:


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:

[root@PAJAJARAN .ssh]# cat id_rsa.pub 
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwWmYG8Goj4TOBIWcY8kEQ7lDU3WihUYdLd6w2PhLIrTSJejyiKww30INtJhtogB/yYn+5AZueJd1csC0paNnhVTfCvRxP14NYHzZhRamnuUzQWdp5WbuDj8lmvNjmGdVJimNqyxncxI9p5yOTtyIeh6iJiZ0GAJLH5p4QX+CWv6V+JH3SO36DEjOIj3b/HbBM6peCdXSz08zqpkTnoSRROF1Ar4hGJiDn103JbijD62WWX5K6/5u/lNJrCL17uD5lr1oAAgkdhmd0nPkTLqOHTJ77M6I8ej/7SEUNoDVSvU2627PX0G3APQrjRiTl3xmjP/nru4ZB9+vXZY6m51QPw== root@PAJAJARAN


Yang akan kita ambil (copy) yakni pada bagian :

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwWmYG8Goj4TOBIWcY8kEQ7lDU3WihUYdLd6w2PhLIrTSJejyiKww30INtJhtogB/yYn+5AZueJd1csC0paNnhVTfCvRxP14NYHzZhRamnuUzQWdp5WbuDj8lmvNjmGdVJimNqyxncxI9p5yOTtyIeh6iJiZ0GAJLH5p4QX+CWv6V+JH3SO36DEjOIj3b/HbBM6peCdXSz08zqpkTnoSRROF1Ar4hGJiDn103JbijD62WWX5K6/5u/lNJrCL17uD5lr1oAAgkdhmd0nPkTLqOHTJ77M6I8ej/7SEUNoDVSvU2627PX0G3APQrjRiTl3xmjP/nru4ZB9+vXZY6m51QPw==


3. Pada server SRIWIJAYA, kita buat file baru dengan nama authorized_keys, lalu kita isi dengan public key server PAJAJARAN diatas

[root@SRIWIJAYA .ssh]# nano authorized_keys


Isi file (kita paste dari public key server PAJAJARAN):

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwWmYG8Goj4TOBIWcY8kEQ7lDU3WihUYdLd6w2PhLIrTSJejyiKww30INtJhtogB/yYn+5AZueJd1csC0paNnhVTfCvRxP14NYHzZhRamnuUzQWdp5WbuDj8lmvNjmGdVJimNqyxncxI9p5yOTtyIeh6iJiZ0GAJLH5p4QX+CWv6V+JH3SO36DEjOIj3b/HbBM6peCdXSz08zqpkTnoSRROF1Ar4hGJiDn103JbijD62WWX5K6/5u/lNJrCL17uD5lr1oAAgkdhmd0nPkTLqOHTJ77M6I8ej/7SEUNoDVSvU2627PX0G3APQrjRiTl3xmjP/nru4ZB9+vXZY6m51QPw==


4. Masih didalam server SRIWIJAYA, kita restart service ssh dengan perintah:

[root@SRIWIJAYA ~]# service sshd restart


5. Dari server PAJAJARAN, kita coba lakukan remote login ssh dengan perintah:

[root@PAJAJARAN ~]# ssh root@192.168.1.101
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. 

{ Read More }


Senin, 10 Februari 2014

Sinkronisasi File dan Folder dengan rsync di Linux CentOS 6

Rsync merupakan aplikasi yang berfungsi untuk sinkronisasi file atau folder guna berbagai kebutuhan seperti backup file. Rsync bisa berjalan secara lokal dalam mesin yang sama, ataupun dalam server yang berbeda lokasi. Rsync menggunakan protokol remote-update sehingga proses transfer terasa lebih cepat karena yang ditransfer hanyalah file yang mengalami perubahan saja, artinya tidak semua file dicopy kembali. Disini saya akan mencoba membangun Sistem Backup sederhana dengan rsync.


Gambar : Backup File dengan rsync dari server Lokal ke server Remote

Rsync pada single server

Install paket rsync dengan perintah yum untuk memudahkan instalasi.
[root@SRIWIJAYA ~]# yum install rsync


Selanjutnya kita buat direktori untuk menyimpan file backup. Misalnya kita akan menyimpan file backup di direktori /home/backup
[root@SRIWIJAYA ~]# mkdir /home/backup


Sebagai contoh, kita asumsikan dalam server kita memiliki folder dilokasi /home/filedata yang berisi berbagai macam konfigurasi, dan akan kita backup ke direktori /home/backup.
Contoh isi Direktori sumber yang akan dibackup :

[root@SRIWIJAYA ~]# ls filedata/
configacl.txt  configrouter.txt  configssh.txt


Perintah untuk melakukan backup dengan rsync, dan menempatkannya di lokasi /home/backup

[root@SRIWIJAYA ~]# rsync -avz /root/filedata/ /home/backup/

sending incremental file list
./
configacl.txt
configrouter.txt
configssh.txt

sent 275 bytes  received 72 bytes  694.00 bytes/sec
total size is 63  speedup is 0.18


Sekarang, kita periksa pada direktori /home/backup

[root@SRIWIJAYA ~]# ls /home/backup/
configacl.txt  configrouter.txt  configssh.txt


Dari output diatas terlihat bahwa file dari direktori /root/filedata berhasil disalin ke /home/backup.

Rsync dari server local ke server remote

Apabila kita ingin menyimpan file backup di server lain (remote server), kita hanya perlu untuk melakukan sedikit perubahan pada perintah sebelumnya, dan pastikan kita mempunyai akses ke remote server tersebut. Dalam hal ini kita akan menggunakan akun user root. Dari gambar diatas, local server (SRIWIJAYA) memiliki IP 192.168.1.101 dan remote server (PAJAJARAN) memiliki IP 192.168.1.100. Kita akan membackup file dari server SRIWIJAYA, yakni semua file yang berada dalam direktori /root/filedata ke server PAJAJARAN yang akan kita tempatkan pada direktori /home/sriwijaya-backup.

Dari server local (SRIWIJAYA), ketikkan perintah:

[root@SRIWIJAYA ~]# rsync -avz /root/filedata/ root@192.168.1.100:/home/sriwijaya-backup
root@192.168.1.100's password: 
sending incremental file list
created directory /home/sriwijaya-backup
./
configacl.txt
configrouter.txt
configssh.txt

sent 275 bytes  received 72 bytes  40.82 bytes/sec
total size is 63  speedup is 0.18


Perintah diatas akan menyalin file dala direktori /home/filedata ke server PAJAJARAN (IP 192.168.1.100) ke folder /home/sriwijaya-backup. Sebagi catatan, folder “sriwijaya-backup” akan dibuat secara otomatis pada remote server.

Sekarang kita beralih ke server PAJAJARAN untuk melihat hasilnya:

[root@PAJAJARAN ~]# ls /home/sriwijaya-backup/
configacl.txt  configrouter.txt  configssh.txt


Rsync dari server Remote

Nampaknya proses backup/sinkronisasi file secara remote sudah berhasil. Selain cara diatas, kita bisa mengambil file backup dari Remote server (PAJAJARAN), dengan perintah:

[root@PAJAJARAN ~]# rsync -avz root@192.168.1.101:/root/filedata /home/sriwijaya-backup
root@192.168.1.101's password: 
receiving incremental file list
created directory /home/sriwijaya-backup
filedata/
filedata/configacl.txt
filedata/configrouter.txt
filedata/configssh.txt

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


Rsync dengan SSH

Untuk lebih meningkatkan keamanan dalam sinkronisasi file, kita bisa menggunakan rsync dengan protocol ssh agar file yang kita transfer akan terenkripsi. Berikut contoh penggunaan perintah rsync dengan ssh:

[root@SRIWIJAYA ~]# rsync -avzhe ssh /root/filedata/ root@192.168.1.100:/home/sriwijaya-backup
root@192.168.1.100's password: 
sending incremental file list
created directory /home/sriwijaya-backup
./
configacl.txt
configrouter.txt
configssh.txt

sent 275 bytes  received 72 bytes  77.11 bytes/sec
total size is 63  speedup is 0.18


Pada perintah diatas, ada penambahan parameter, yakni –h (human readable) dan –e (untuk menentukan protocol). Penggunaan rsync ini cukup luas, dan dalam tutorial ini saya hanya menunjukkan cara penggunaan sederhana. Rsync sangat cocok untuk digunakan dengan crontab, dimana kita bisa membuat jadwal untuk melakukan backup file secara otomatis pada waktu yang kita tentukan. Untuk topik tersebut sudah saya buat di Tutorial lanjutan dari rsync dengan cron.
{ Read More }


IconIconIconFollow Me on Pinterest

Blogger news

Blogroll

What's Hot