Berbagai jenis Tutorial Rsync :)

May 8, 2007

rsync adalah adalah sebuah program kecil yang berfungsi hampir sama dengan rcp, namun memiliki fitur tambahan yang lebih banyak dan menggunakan protokol rsync remote update untuk mempercepat transfer file bila file tujuan sudah ada.

Alih-alih membuat sebuah skrip sesi FTP atau berbagai bentuk skrip transfer file lainnya, rsync hanya menyalinkan perbedaan file-file saja, mengkompresinya dan mengirimkannya menggunakan ssh jika anda ingin keamanan.

Berikut ini adalah beberapa buah fitur tambahan rsync :

1. mendukung penyalinan link, device, owner, grup, dan permisi.
2. Option exclude dan exclude-from serupa dengan GNU tar
3. sebuah mode CVS exclude untuk mengabaikan file-file yang sama yang akan diabaikan oleh CVS
4. dapat menggunakan sembarang remote shell transparan, termasuk rsh atau ssh
5. tidak membutuhkan root privilege
6. pipelining transfer file untuk meminimalkan biaya latency
7. dukungan bagi server rsync anonymous atau authenticated

2. Instalasi rsync

rsync dapat anda instal dari RPM atau dari tarball. Kedua versi tersebut dapat diperoleh di rsync.samba.org.

More...

Instalasi rsync versi RPM

Setelah anda mendownloadnya, anda kemudian dapat menginstalasinya :

su
password :

# rpm -ivh rsync-2.4.6-1.i386.rpm

Instalasi rsync versi tarball

Setelah anda mendownloadnya, silakan lakukan langkah berikut : Membuka tarball dengan cara :

$ tar xvzf rsync-2.4.6.tar.gz

Pindah ke direktori rsync :

cd rsync-2.4.6

Menjalankan skrip ./configure Kemudian build rsync dengan cara :

make

Jika anda ingin menginstalasi rsync ke sistem anda, lakukan perintah berikut :

$ su
password :

# make install

3. Menggunakan rsync

Ada beberapa buah cara untuk menggunakan rsync :

* untuk menyalinkan file-file lokal. Ini dilakukan dengan tidak menggunakan tanda ":" pada path sumber dan tujuan.
* Untuk menyalinkan dari mesin lokal ke mesin remote dengan menggunakan program remote shell sebagai alat transpornya. Dapat dilakukan ketika path tujuan berisikan tanda pemisah ":".
* untuk menyalin dari mesin remote ke mesin lokal dengan menggunakan program remote shell sebagai alat transpornya. Dapat dilakukan ketika path sumber berisikan tanda pemisah "::" atau sebuah URL rsync://.
* Untuk menyalinkan dari mesin lokal ke server rsync remote. Ini dilakukan dengan memberikan tanda pemisah "::" pada path tujuan.
* Untuk menampilkan daftar file-file pada mesin tujuan. Dapat dilakukan dengan cara yang sama dengan transfer rsync kecuali anda tidak mengisikan tujuan lokal.

Berikut ini adalah sintaks penggunaan rsync :

rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST

rsync [OPTION]... [USER@]HOST:SRC DEST

rsync [OPTION]... SRC [SRC]... DEST

rsync [OPTION]... [USER@]HOST::SRC [DEST]

rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST

rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

Cara terbaik untuk menjelaskan sesuatu adalah dengan memberikan contoh nyata. Di bawah ini adalah beberapa buah contoh nyata dalam penggunaan rsync :

rsync *.sdw my-projects/

perintah ini akan mentransfer seluruh file yang cocok dengan kriteria *.sdw dari direktori saat ini ke direktori my-projects. Jika sembarang file telah ada pada direktori tujuan maka rsync akan menggunakan protokol remote-update agar mengirimkan perbedaannya saja.

rsync -avz public_html www.yourmachine.com:/public_html

perintah ini akan secara resursif mentransfer semua file dari direktori public_html ke direktori public_html yang ada di mesin www.yourmachine.com. File-file ditransfer dalam mode "archive", yang memastikan bahwa link simbolik, device, atribut, permisi, kepemilikan dan sebagainya disimpan saat transfer. Sebagai tambahan, digunakan pula kompresi untuk mengurangi ukuran data yang ditransfer.

rsync -avz foo:src/bar /data/tmp

perintah di atas akan mentransfer semua file yang ada pada direktori src/bar di mesin foo ke dalam direktori /data/tmp yang ada di mesin lokal.

rsync gue.pakelinux.ah::

perintah di atas akan menampilkan daftar semua modul rsync anonim yang tersedia pada host gue.pakelinux.ah.

4. Membuat server rsync

Untuk membuat sebuah server rsync ada dua langkah utama yang harus anda lakukan pada mesin yang ingin anda jadikan sebagai server rsync :

Menjalankan rsync dalam mode daemon, dengan memberikan perintah rsync --daemon pada perintah baris.

Menset file konfigurasi /etc/rsyncd.conf

rsyncd.conf adalah sebuah file konfigurasi rsync ketika dijalankan dengan option --daemon. Saat itulah rsync menjadi rsync server yang listening ke TCP port 873. File rsyncd.conf mengendalikan otentikasi, akses, pencatatan dan modul yang tersedia.

Format File Konfigurasi

File konfigurasi ini terdiri dari modul dan parameter. Modul dimulai dengan nama modul dalam tanda kurung siku dan berlanjut terus hingga awal modul berikutnya. Modul berisikan parameter dalam bentuk "name = value".

Hanya tanda sama dengan pertama yang signifikan. Whitespace sebelum dan setelah tanda sama dengan pertama diabaikan.

Baris yang dimulai dengan tanda "#" akan diabaikan.

Nilai yang dapat diberikan mengikuti tanda sama dengan di parameter berupa string (tidak dibutuhkan quote) atau boolean, yang mungkin dapat diberikan sebagai yes/no, 0/1, true/false.

Option Global

Parameter pertama dalam file, sebelum header modul, adalah parameter-parameter global.

motd file

Option "motd file" memungkinkan anda untuk menspesifikasikan "pesan hari ini" yang akan ditampilkan ke client setiap kali koneksi. Defaultnya adalah tidak ada file motd.

log file

Option "log file" memberi tahu daemon rsync untuk mencatat pesan-pesan ke file alih-alih menggunakan syslog.

pid file

Option "pid file" memberitahu daemon rsync untuk mencatat id prosesnya ke file tersebut.

syslog facility

Option "syslog facility" memungkinkan anda menspesifikasikan nama fasilitas syslog yang akan digunakan ketika mencatat pesan-pesan ke server rsync. Anda dapat menggunakan sembarang nama fasilitas syslog standar yang didefinisikan pada sistem anda. Nama-nama umum tersebut antara lain auth, authpriv, cron, daemon, ftp, kern, lpr, mail, news, security, syslog, user, uucp, local0, local1, local2, local3, local4, local5, local6 dan local7. Bakunya adalah daemon.

socket options

Option ini dapat menyediakan beragam kegembiraan bagi orang-orang yang suka mengotak-atik sistem mereka. Anda dapat menset segala macam option soket yang mungkin dapat mempercepat transfer atau memperlambatnya. Silakan baca man page untuk sistem call setsockopt() untuk rincinya. Bakunya tidak ada option soket khusus yang diset.

Contoh File Konfigurasi

Sebuah contoh file rsyncd.conf sederhana yang memungkinkan rsync anonim ke sebuah area ftp di /home/ftp adalah sebagai berikut :

[ftp]
path = /home/ftp
comment = ftp export area

Contoh yang lebih kompleks adalah :

uid = nobody
gid = nobody

use chroot = no

max connections = 4

syslog facility = local5

pid file = /etc/rsyncd.pid

[ftp]
path = /var/ftp/pub
comment = whole ftp area (approx 6.1 GB)

[sambaftp]
path = /var/ftp/pub/samba
comment = Samba ftp area (approx 300 MB)

[rsyncftp]
path = /var/ftp/pub/rsync
comment = rsync ftp area (approx 6 MB)

[sambawww]
path = /public_html/samba
comment = Samba WWW pages (approx 240 MB)

[cvs]
path = /data/cvs
comment = CVS repository (requires authentication)
auth users = osamu, lader
secrets file = /etc/rsyncd.secrets

File /etc/rsyncd.secrets akan tampak sebagai berikut :

osamu:mypass
lader:mypass



From : My suhu (alamsyah rasyid)

1 comments:

Anonymous said...

pak bs help sy, knp client gak bisa connect ke rsync server ya
begini eror nya
tegalrejo2:~ # rsync 192.168.1.207::
rsync: failed to connect to 192.168.1.207: Connection refused (111)
rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.6]

thanks b4