Rsync Commad di Linux dengan 12 contoh praktis

Rsync Commad di Linux dengan 12 contoh praktis

RSYNC (Remote Sync) adalah alat baris perintah untuk menyinkronkan file antara dua sistem berbasis UNIX. RSYNC juga dapat digunakan pada sistem yang sama untuk menyinkronkan file antara dua direktori. RSYNC menggunakan algoritma Delta-Transfer untuk hanya mengirim perbedaan antara file sumber dan file yang ada ke tujuan. RSYNC menggunakan lebih sedikit data di jaringan untuk menghemat bandwidth.

RSYNC biasanya digunakan untuk mendukung sejumlah besar data atau mentransfer data antara dua komputer. RSYNC mendukung sinkronisasi file lokal-ke-lokal, lokal-ke-redik. Namun, sinkronisasi file jarak jauh-ke-remote tidak didukung.

Dalam posting ini, kita akan melihat beberapa kegunaan umum untuk alat baris perintah RSYNC.

Sintaksis

rsync [opsi…] sumber… [tujuan] 
  • Di Sini SUMBER dapat menjadi direktori lokal seperti "/opt/cadangan" atau lokasi jarak jauh seperti "[email dilindungi]:/opt/remotedir/"
  • Juga TUJUAN dapat disebut sebagai direktori lokal atau direktori sistem jarak jauh
  • Sumber dan tujuan dapat merujuk ke direktori lokal.
  • Hanya satu sumber atau tujuan yang bisa menjadi remote. Anda tidak dapat menggunakan keduanya sebagai lokasi terpencil.

Opsi perintah rsync

RSYNC menawarkan sejumlah besar opsi berguna yang mengontrol setiap aspek perilakunya dan membuatnya lebih fleksibel untuk menyinkronkan file. Di bawah ini adalah daftar beberapa opsi perintah rsync yang sering digunakan:

  • -V, -VV -VVV, --Verbose - Opsi ini digunakan untuk log verbose pada output standar. Rsync default berjalan diam -diam. Semakin tinggi jumlah "V" meningkatkan level logging.
  • -A, --Tarchive - Adalah opsi yang paling umum digunakan dengan perintah rsync. Mode arsip setara dengan opsi -rlptgod . Pada dasarnya, ini mencakup semua opsi yang diperlukan seperti, secara rekursif, melestarikan izin file, tautan simbolik, kepemilikan file, dan cap waktu.
  • -Z, - -Compress - Gunakan opsi ini untuk mentransfer data dalam format terkompresi. Mana yang berguna untuk menyimpan bandwidth.
  • -H,-yang dapat dibaca manusia - Gunakan opsi ini untuk mencetak semua output dalam format yang dapat dibaca manusia.
  • --menghapus - Gunakan opsi ini hanya jika Anda perlu menghapus file di tujuan, yang tidak ada di sumber.
  • --mengecualikan = pola - Kecualikan file dari RSYNC yang cocok dengan pola yang diberikan.
    rsync -exclude '*.jpg 'src/ dest/ 
  • --termasuk = pola - Sertakan file dalam RSYNC yang cocok dengan pola yang diberikan.
    rsync -termasuk '*.jpg ' -termasuk'*.txt ' -exclude'*'src/ dest/ 

Contoh RSYNC

Berikut adalah 12 contoh praktis dari perintah rsync dalam sistem unix/linux.

  1. Salin/Sinkronisasi File dan Direktori Lokal-ke-Lokal
  2. Rsync memungkinkan sinkronisasi file antar direktori pada sistem lokal. Misalnya, saya memiliki beberapa file cadangan di mesin lokal saya di bawah /mnt/cadangan direktori. Saya ingin menyalin/menyinkronkan semua file ke drive USB yang dipasang /mnt/disk1. Gunakan perintah berikut untuk menyinkronkan semua file dan direktori dari /opt/cadangan to /mnt /disk1.

    rsync -avhz/opt/backup/mnt/disk1/  Mengirim Daftar File tambahan Cadangan/ Cadangan/ Tecadmin.22mar2022.SQL Backup/Tecadmin.22mar2022.ter.GZ Backup/Tecadmin.23mar2022.SQL Backup/Tecadmin.23mar2022.ter.GZ dikirim 1.09g byte menerima 96 byte 23.39m byte/detik ukuran total adalah 1.Speedup 47g adalah 1.35 
    Salin/Sinkronisasi File dan Direktori antara Dua Direktori Lokal

  3. Salin/Sinkronisasi File dan Direktori Lokal-ke-Pidana
  4. Menggunakan RSYNC, kami dapat dengan cepat menyalin/menyinkronkan file dari sistem lokal ke jarak jauh. Misalnya, saya perlu mentransfer situs web ke server baru. Ini membutuhkan konten situs web untuk menjadi salinan sistem jarak jauh. Gunakan perintah di bawah ini untuk menyalin semua file dari lokal /var/www/html Direktori ke Remote (192.168.1.100) Direktori Sistem/Var/WWW/HTML.

    rsync -avhz/var/www/html [email dilindungi]:/var/www/html/  

    Perintah di atas bermanfaat untuk administrator sistem, yang menyalin file antara dua sistem secara teratur.

  5. Salin/Sinkronisasi File dan Direktori Remote-to-Local
  6. Perintah rsync juga memungkinkan sumber sebagai direktori jarak jauh, tetapi kemudian tujuan harus lokal. Gunakan direktori sumber dari host jarak jauh dan tujuan harus menjadi direktori lokal. Misalnya, saya perlu menyalin semua file cadangan yang disimpan di bawah /cadangan Direktori di Remote ke Direktori Lokal /Opt /Backups.

    rsync -avhz [email dilindungi]:/cadangan/opt/cadangan  

  7. Menggunakan rsync melalui ssh
  8. RSYNC terhubung ke sistem jarak jauh menggunakan daemon rsync langsung melalui TCP. Kami dapat menginstruksikan RSYNC untuk menggunakan Secure Shell (SSH) untuk menghubungkan sistem jarak jauh daripada membuat koneksi TCP.

    Menggunakan -e opsi untuk menentukan shell jarak jauh. Perintah di bawah ini akan menggunakan SSH sebagai shell jarak jauh:

    rsync -avhz -e ssh/src [email dilindungi]:/dest/  

    Jika server SSH di tujuan berjalan pada port non-standar, gunakan tutorial ini untuk menghubungkan RSYNC melalui port non-standar.

  9. Abaikan file dan direktori sudah ada di tujuan
  10. Gunakan perintah rsync dengan --Abaikan yang ada opsi untuk mengabaikan semua file, itu sudah ada di tujuan. Misalnya, Anda ingin menjadwalkan skrip cadangan untuk menyalin semua file ke disk cadangan setiap hari. Dalam hal ini, Anda tidak ingin menyalin semua file lagi dan lagi. Opsi ini akan menyalin file -file tersebut, yang tidak tersedia di tujuan.

    rsync -avhz --ignore -existing /opt /backups /mnt /disk1  

  11. Perbarui file hanya jika sumbernya lebih baru
  12. Menggunakan --memperbarui Opsi untuk memperbarui file pada remote hanya jika ada versi yang lebih baru adalah lokal. RSYNC akan membuat file di tujuan jika tidak ada. Juga, file pembaruan di tujuan stempel waktu lokal lebih baru dari file sistem jarak jauh.

    rsync -update -avhz/opt/backup/mnt/disk1/  

  13. Hapus file dari sumber setelah sinkronisasi
  14. Menggunakan --Lepaskan file sumber opsi untuk menghapus file dari sumber setelah transfer yang berhasil ke tujuan. Misalnya, Anda perlu menjadwalkan cadangan file log ke sistem jarak jauh. Juga, ingin remote mencatat file dari sistem lokal setelah berhasil disalin ke remote. Ini akan membantu mengklaim ruang disk.

    rsync--remove-source-files -avhz/var/log [email dilindungi]:/cadangan/log/  

  15. Kecualikan file atau direktori tertentu dengan RSYNC
  16. Anda dapat menentukan file atau pola dengan --mengecualikan = pola opsi untuk mengecualikan dari RSYNC.

    rsync -avh -exclude '*.zip ' -exclude'*.log ' /src [email dilindungi]: /dest  

  17. Sertakan file spesifik dengan rsync
  18. RSYNC default mencakup semua file di bawah pohon direktori sumber. Sekarang, Anda hanya perlu memasukkan file spesifik untuk disinkronkan ke tujuan.

    Di sini Anda dapat menentukan --termasuk = pola untuk memasukkan file tertentu dan mengecualikan semua file dengan * .

    rsync -avhz -meng.jpg ' -termasuk'*.txt ' -exclude'*' /src [email dilindungi]: /dest  

  19. Menampilkan kemajuan dengan rsync
  20. Menggunakan --kemajuan Opsi untuk menampilkan kemajuan selama transfer file antara sumber dan tujuan dengan perintah rsync.

    rsync -avh --progress /src [email dilindungi]: /dest  

  21. Izin file chnage dengan rsync
  22. Anda dapat menginstruksikan RSYNC untuk mengubah pemilik file dan pemilik grup di tujuan. Gunakan opsi --chown = pengguna: grup dengan rsync untuk mengubah izin file.

    rsync -avh --chown = user: grup /src [email dilindungi]: /dest  

    Demikian pula, Anda dapat menggunakan -chmod = chmod Opsi untuk mengubah izin file atau direktori di tujuan.

    rsync -avh --chmod = 755 /src [email dilindungi]: /dest  

  23. Runnc run kering saja
  24. Menggunakan --Dry-run Opsi untuk mengeksekusi run kering saja. Ini akan menunjukkan kepada Anda hasil yang sama sebagai perintah asli tetapi tidak ada yang akan memperbarui di tujuan. Pada dasarnya, kita dapat menggunakan ini untuk memeriksa, apa yang akan diperbarui RSYNC sebelum benar -benar menjalankannya.

    rsync -avh --dry -run /src [email dilindungi]: /dest  

Kesimpulan

Rsync adalah utilitas yang bagus untuk mentransfer data dalam jumlah besar antara dua mesin. Anda juga dapat menggunakan RSYNC untuk mendukung seluruh sistem di lokasi cadangan jarak jauh di artikel ini. Anda telah mempelajari beberapa contoh perintah rsync praktis dalam artikel ini yang bagus untuk tugas sehari -hari.