Sync (Remote Sync) adalah perintah yang paling sering digunakan untuk menyalin dan menyinkronkan file dan direktori dari jarak jauh serta secara lokal di sistem Linux / Unix. Dengan bantuan perintah rsync Anda dapat menyalin dan menyinkronkan data Anda dari jarak jauh dan secara lokal di seluruh direktori, di seluruh disk dan jaringan, melakukan pencadangan data dan mirroring antara dua mesin Linux.
Perintah Rsync
Sinkronisasi File Lokal dan Remote Rsync
Artikel ini menjelaskan 10 penggunaan dasar dan lanjutan dari perintah rsync untuk mentransfer file Anda dari jarak jauh dan secara lokal di mesin berbasis Linux. Anda tidak perlu menjadi pengguna root untuk menjalankan perintah rsync.
Perintah Rsync
Sinkronisasi File Lokal dan Remote Rsync
Artikel ini menjelaskan 10 penggunaan dasar dan lanjutan dari perintah rsync untuk mentransfer file Anda dari jarak jauh dan secara lokal di mesin berbasis Linux. Anda tidak perlu menjadi pengguna root untuk menjalankan perintah rsync.
Beberapa kelebihan dan fitur perintah Rsync :
- Secara efisien menyalin dan menyinkronkan file ke atau dari sistem jarak jauh.
- Mendukung penyalinan tautan, perangkat, pemilik, grup, dan izin.
- Ini lebih cepat daripada scp (Secure Copy) karena rsync menggunakan protokol pembaruan jarak jauh yang memungkinkan untuk mentransfer hanya perbedaan antara dua set file. Pertama kali, itu menyalin seluruh konten file atau direktori dari sumber ke tujuan tetapi dari waktu berikutnya, itu hanya menyalin blok dan byte yang diubah ke tujuan.
- Rsync mengkonsumsi lebih sedikit bandwidth karena menggunakan metode kompresi dan dekompresi saat mengirim dan menerima data kedua ujungnya.
Sintaks dasar perintah rsync
# rsync opsi sumber tujuan
Beberapa opsi umum digunakan dengan perintah rsync
- -v: verbose
- -r: menyalin data secara rekursif (tapi jangan pertahankan cap waktu dan izin saat mentransfer data
- -a: mode arsip, mode arsip memungkinkan menyalin file secara rekursif dan juga mempertahankan tautan simbolis, izin file, kepemilikan pengguna & grup, dan stempel waktu
- -z: kompres data file
- -h: angka keluaran yang bisa dibaca manusia, dalam format yang bisa dibaca manusia
- Sebagai catatan disarankan untuk Menyinkronkan File / Direktori Menggunakan Rsync dengan Port SSH Non-standar
Kita dapat menginstal paket rsync dengan bantuan perintah berikut.
# yum install rsync (On Red Hat based systems)
# apt-get install rsync (On Debian based systems)
1. Salin / Sinkronkan File dan Direktori Secara Lokal
Salin / Sinkronkan File di Komputer Lokal
Perintah berikut ini akan menyinkronkan satu file pada mesin lokal dari satu lokasi ke lokasi lain. Di sini, dalam contoh ini, nama file backup.tar perlu disalin atau disinkronkan ke / tmp / backups / folder
[root@ikhwans]# rsync -zvh backup.tar /tmp/backups/
created directory /tmp/backups
backup.tar
sent 14.71M bytes received 31 bytes 3.27M bytes/sec
total size is 16.18M speedup is 1.10
Dalam contoh di atas, Anda dapat melihat bahwa jika tujuan belum ada rsync akan membuat direktori secara otomatis untuk tujuan.
Salin / Sinkronkan Direktori di Komputer Lokal
Perintah berikut akan mentransfer atau menyinkronkan semua file dari satu direktori ke direktori lain di mesin yang sama. Di sini, dalam contoh ini, / root / rpmpkgs berisi beberapa file paket rpm dan Anda ingin direktori tersebut disalin di dalam / tmp / backups / folder.
[root@ikhwans]# rsync -avzh /root/rpmpkgs /tmp/backups/
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 4.99M bytes received 92 bytes 3.33M bytes/sec
total size is 4.99M speedup is 1.00
2. Salin / Sinkronkan File dan Direktori ke atau Dari Server
Salin Direktori dari Server Lokal ke Server Jarak Jauh
Perintah ini akan menyinkronkan direktori dari mesin lokal ke mesin jarak jauh. Sebagai contoh: Ada folder di komputer lokal Anda "rpmpkgs" yang berisi beberapa paket RPM dan Anda ingin agar konten direktori lokal dikirim ke server jarak jauh, Anda dapat menggunakan perintah berikut.
[root@ikhwans]$ rsync -avz rpmpkgs/ root@192.168.0.101:/home/
root@192.168.0.101's password:
sending incremental file list
./
httpd-2.2.3-82.el5.centos.i386.rpm
mod_ssl-2.2.3-82.el5.centos.i386.rpm
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
sent 4993369 bytes received 91 bytes 399476.80 bytes/sec
total size is 4991313 speedup is 1.00
root@192.168.0.101's password:
sending incremental file list
./
httpd-2.2.3-82.el5.centos.i386.rpm
mod_ssl-2.2.3-82.el5.centos.i386.rpm
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
sent 4993369 bytes received 91 bytes 399476.80 bytes/sec
total size is 4991313 speedup is 1.00
Copy/Sync a Remote Directory to a Local Machine
Perintah ini akan membantu Anda menyinkronkan direktori jarak jauh ke direktori lokal. Di sini, dalam contoh ini, direktori / home / tarunika / rpmpkgs yang ada di server jarak jauh sedang disalin di komputer lokal Anda di / tmp / myrpms.
[root@ikhwans]# rsync -avzh root@192.168.0.100:/home/ikhwans/rpmpkgs /tmp/myrpms
root@192.168.0.100's password:
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 91 bytes received 4.99M bytes 322.16K bytes/sec
total size is 4.99M speedup is 1.00
root@192.168.0.100's password:
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 91 bytes received 4.99M bytes 322.16K bytes/sec
total size is 4.99M speedup is 1.00
3. Rsync Atas SSH
Dengan rsync, kami dapat menggunakan SSH (Secure Shell) untuk transfer data, menggunakan protokol SSH saat mentransfer data kami, Anda dapat memastikan bahwa data Anda sedang ditransfer dalam koneksi aman dengan enkripsi sehingga tidak ada yang dapat membaca data Anda saat sedang ditransfer melalui jaringan di internet.
Juga ketika kita menggunakan rsync, kita perlu memberikan kata sandi pengguna / root untuk menyelesaikan tugas tertentu, jadi menggunakan opsi SSH akan mengirim login Anda dengan cara terenkripsi sehingga kata sandi Anda akan aman.
Salin File dari Server Jarak Jauh ke Server Lokal dengan SSH
Untuk menentukan protokol dengan rsync Anda harus memberikan opsi “-e” dengan nama protokol yang ingin Anda gunakan. Di sini, dalam contoh ini, Kami akan menggunakan "ssh" dengan opsi "-e" dan melakukan transfer data.
Dengan rsync, kami dapat menggunakan SSH (Secure Shell) untuk transfer data, menggunakan protokol SSH saat mentransfer data kami, Anda dapat memastikan bahwa data Anda sedang ditransfer dalam koneksi aman dengan enkripsi sehingga tidak ada yang dapat membaca data Anda saat sedang ditransfer melalui jaringan di internet.
Juga ketika kita menggunakan rsync, kita perlu memberikan kata sandi pengguna / root untuk menyelesaikan tugas tertentu, jadi menggunakan opsi SSH akan mengirim login Anda dengan cara terenkripsi sehingga kata sandi Anda akan aman.
Salin File dari Server Jarak Jauh ke Server Lokal dengan SSH
Untuk menentukan protokol dengan rsync Anda harus memberikan opsi “-e” dengan nama protokol yang ingin Anda gunakan. Di sini, dalam contoh ini, Kami akan menggunakan "ssh" dengan opsi "-e" dan melakukan transfer data.
[root@ikhwans]# rsync -avzhe ssh root@192.168.0.100:/root/install.log /tmp/
root@192.168.0.100's password:
receiving incremental file list
install.log
sent 30 bytes received 8.12K bytes 1.48K bytes/sec
total size is 30.74K speedup is 3.77
root@192.168.0.100's password:
receiving incremental file list
install.log
sent 30 bytes received 8.12K bytes 1.48K bytes/sec
total size is 30.74K speedup is 3.77
Salin File dari Server Lokal ke Server Jarak Jauh dengan SSH
[root@ikhwans]# rsync -avzhe ssh backup.tar root@192.168.0.100:/backups/
root@192.168.0.100's password:
sending incremental file list
backup.tar
sent 14.71M bytes received 31 bytes 1.28M bytes/sec
total size is 16.18M speedup is 1.10
[root@ikhwans]# rsync -avzhe ssh backup.tar root@192.168.0.100:/backups/
root@192.168.0.100's password:
sending incremental file list
backup.tar
sent 14.71M bytes received 31 bytes 1.28M bytes/sec
total size is 16.18M speedup is 1.10
4. Tampilkan Kemajuan Saat Mentransfer Data dengan rsync
Untuk menunjukkan progres saat mentransfer data dari satu mesin ke mesin lain, kita dapat menggunakan opsi ‘–progress’ untuk itu. Ini menampilkan file dan waktu yang tersisa untuk menyelesaikan transfer.
Untuk menunjukkan progres saat mentransfer data dari satu mesin ke mesin lain, kita dapat menggunakan opsi ‘–progress’ untuk itu. Ini menampilkan file dan waktu yang tersisa untuk menyelesaikan transfer.
[root@ikhwans]# rsync -avzhe ssh --progress /home/rpmpkgs root@192.168.0.100:/root/rpmpkgs
root@192.168.0.100's password:
sending incremental file list
created directory /root/rpmpkgs
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
1.02M 100% 2.72MB/s 0:00:00 (xfer#1, to-check=3/5)
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
99.04K 100% 241.19kB/s 0:00:00 (xfer#2, to-check=2/5)
rpmpkgs/nagios-3.5.0.tar.gz
1.79M 100% 1.56MB/s 0:00:01 (xfer#3, to-check=1/5)
rpmpkgs/nagios-plugins-1.4.16.tar.gz
2.09M 100% 1.47MB/s 0:00:01 (xfer#4, to-check=0/5)
sent 4.99M bytes received 92 bytes 475.56K bytes/sec
total size is 4.99M speedup is 1.00
root@192.168.0.100's password:
sending incremental file list
created directory /root/rpmpkgs
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
1.02M 100% 2.72MB/s 0:00:00 (xfer#1, to-check=3/5)
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
99.04K 100% 241.19kB/s 0:00:00 (xfer#2, to-check=2/5)
rpmpkgs/nagios-3.5.0.tar.gz
1.79M 100% 1.56MB/s 0:00:01 (xfer#3, to-check=1/5)
rpmpkgs/nagios-plugins-1.4.16.tar.gz
2.09M 100% 1.47MB/s 0:00:01 (xfer#4, to-check=0/5)
sent 4.99M bytes received 92 bytes 475.56K bytes/sec
total size is 4.99M speedup is 1.00
5. Penggunaan Opsi –include dan –exclude
Dua opsi ini memungkinkan kami untuk memasukkan dan mengecualikan file dengan menentukan parameter dengan opsi ini membantu kami menentukan file atau direktori yang ingin Anda sertakan dalam sinkronisasi Anda dan mengecualikan file dan folder dengan Anda tidak ingin ditransfer.
Di sini, dalam contoh ini, perintah rsync akan menyertakan hanya file dan direktori yang dimulai dengan ‘R’ dan mengecualikan semua file dan direktori lainnya.
Dua opsi ini memungkinkan kami untuk memasukkan dan mengecualikan file dengan menentukan parameter dengan opsi ini membantu kami menentukan file atau direktori yang ingin Anda sertakan dalam sinkronisasi Anda dan mengecualikan file dan folder dengan Anda tidak ingin ditransfer.
Di sini, dalam contoh ini, perintah rsync akan menyertakan hanya file dan direktori yang dimulai dengan ‘R’ dan mengecualikan semua file dan direktori lainnya.
[root@ikhwans]# rsync -avze ssh --include 'R*' --exclude '*' root@192.168.0.101:/var/lib/rpm/ /root/rpm
root@192.168.0.101's password:
receiving incremental file list
created directory /root/rpm
./
Requirename
Requireversion
sent 67 bytes received 167289 bytes 7438.04 bytes/sec
total size is 434176 speedup is 2.59
root@192.168.0.101's password:
receiving incremental file list
created directory /root/rpm
./
Requirename
Requireversion
sent 67 bytes received 167289 bytes 7438.04 bytes/sec
total size is 434176 speedup is 2.59

No comments:
Post a Comment