RSYNC (Penyegerakan Jauh) adalah alat baris arahan untuk menyegerakkan fail antara dua sistem berasaskan unix. RSYNC juga boleh digunakan pada sistem yang sama untuk menyegerakkan fail antara dua direktori. RSYNC menggunakan algoritma pemindahan delta untuk menghantar hanya perbezaan antara fail sumber dan fail yang ada ke destinasi. RSYNC menggunakan kurang data pada rangkaian untuk memulihara jalur lebar.

RSYNC biasanya digunakan untuk menyokong sejumlah besar data atau memindahkan data antara dua komputer. RSYNC menyokong penyeger. Walau bagaimanapun, penyegerakan fail jauh-ke-remote tidak disokong.

Dalam siaran ini, kita akan melihat beberapa kegunaan umum untuk alat baris arahan rsync.

Sintaks

rsync [opsyen ...] sumber ... [destinasi] 
  • Di sini Sumber boleh menjadi direktori tempatan seperti "/opt/sandaran" atau lokasi terpencil seperti "[E -mel dilindungi]:/opt/remotedir/"
  • Juga DESTINASI boleh dirujuk sebagai direktori tempatan atau direktori sistem jauh
  • Kedua -dua sumber dan destinasi boleh merujuk kepada direktori tempatan.
  • Hanya satu sumber atau destinasi yang boleh menjadi terpencil. Anda tidak boleh menggunakan kedua -duanya sebagai lokasi terpencil.

Pilihan Perintah RSYNC

RSYNC menawarkan sejumlah besar pilihan berguna yang mengawal setiap aspek tingkah lakunya dan menjadikannya lebih fleksibel untuk menyegerakkan fail. Berikut adalah senarai beberapa pilihan arahan rsync yang sering digunakan:

  • -v, -vv -vvv, --verbose - Pilihan ini digunakan untuk log verbose pada output standard. Rsync lalai berjalan dengan senyap. Semakin tinggi bilangan "v" meningkatkan tahap pembalakan.
  • -A, --Archive - Adalah pilihan yang paling biasa digunakan dengan arahan rsync. Mod arkib bersamaan dengan pilihan -rlptgod . Pada asasnya, ia merangkumi semua pilihan yang diperlukan seperti, rekursif, memelihara keizinan fail, pautan simbolik, pemilikan fail, dan cap waktu.
  • -Z, --Compress - Gunakan pilihan ini untuk memindahkan data dalam format termampat. Yang berguna untuk menyelamatkan jalur lebar.
  • -H,-manusia boleh dibaca - Gunakan pilihan ini untuk mencetak semua output dalam format yang boleh dibaca manusia.
  • --Padam - Gunakan pilihan ini hanya jika anda perlu mengeluarkan fail di destinasi, yang tidak wujud di sumber.
  • --tidak termasuk = corak - Kecualikan fail dari rsync yang sepadan dengan corak yang diberikan.
    rsync --exclude '*.jpg 'src/ dest/ 
  • --termasuk = corak - Sertakan fail dalam rsync yang sepadan dengan corak yang diberikan.
    rsync -termasuk '*.jpg ' -termasuk'*.txt '--exclude'*'src/ dest/ 

Contoh rsync

Berikut adalah 12 contoh praktikal perintah rsync dalam sistem Unix/Linux.

  1. Salinan/penyegerakan fail dan direktori tempatan ke tempatan
  2. RSYNC membolehkan penyegerakan fail antara direktori pada sistem tempatan. Contohnya, saya mempunyai beberapa fail sandaran di mesin tempatan saya di bawah /mnt/sandaran direktori. Saya mahu menyalin/menyegerakkan semua fail ke pemacu USB yang dipasang /mnt/disk1. Gunakan arahan berikut untuk menyegerakkan semua fail dan direktori dari /opt/sandaran ke /mnt /disk1.

    rsync -avhz/opt/sandaran/mnt/disk1/  Menghantar senarai fail tambahan sandaran/ sandaran/ tecadmin.22mar2022.SQL Backup/Tecadmin.22mar2022.tar.sandaran/tecadmin GZ.23mar2022.SQL Backup/Tecadmin.23mar2022.tar.Gz dihantar 1.09g bait diterima 96 bait 23.Saiz total bait 39m/sec ialah 1.Speedup 47g adalah 1.35 
    Salin/penyegerakan fail dan direktori antara dua direktori tempatan

  3. Salinan/penyegerakan fail dan direktori tempatan-ke-Remote
  4. Menggunakan RSYNC, kami dapat menyalin/menyegerakkan fail dari sistem jauh ke jauh dengan cepat. Contohnya, saya perlu memindahkan laman web ke pelayan baru. Kandungan laman web yang diperlukan ini untuk menjadi salinan sistem jauh. Gunakan arahan di bawah untuk menyalin semua fail dari tempatan /var/www/html Direktori ke Jauh (192.168.1.100) direktori sistem/var/www/html.

    rsync -avhz/var/www/html [dilindungi e -mel]:/var/www/html/  

    Perintah di atas berguna untuk pentadbir sistem, yang menyalin fail antara dua sistem secara berkala.

  5. Salinan/penyegerakan fail dan direktori jauh ke kawasan tempatan
  6. Perintah rsync juga membolehkan sumbernya sebagai direktori jauh, tetapi destinasi mestilah tempatan. Gunakan direktori sumber dari hos jauh dan destinasi mestilah direktori tempatan. Contohnya, saya perlu menyalin semua fail sandaran yang disimpan di bawah /sandaran Direktori di Direktori Tempatan ke Tempatan /Opt /Backups.

    rsync -avhz [dilindungi e -mel]:/sandaran/opt/sandaran  

  7. Menggunakan rsync over ssh
  8. RSYNC menghubungkan ke sistem jauh menggunakan daemon rsync secara langsung melalui TCP. Kami boleh mengarahkan rsync untuk menggunakan shell selamat (ssh) untuk menyambungkan sistem jauh dan bukannya membuat sambungan TCP.

    Gunakan -e pilihan untuk menentukan cangkang jauh. Perintah di bawah akan menggunakan SSH sebagai shell jauh:

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

    Sekiranya pelayan SSH di destinasi berjalan pada port bukan standard Gunakan tutorial ini untuk menyambungkan RSYNC ke atas pelabuhan bukan standard.

  9. Abaikan fail dan direktori sudah ada di destinasi
  10. Gunakan arahan rsync dengan --Abaikan-sedia ada pilihan untuk mengabaikan semua fail, yang sudah ada di destinasi. Contohnya, anda ingin menjadualkan skrip sandaran untuk menyalin semua fail ke cakera sandaran setiap hari. Dalam hal ini, anda tidak mahu menyalin semua fail berulang kali. Pilihan ini akan menyalin fail tersebut, yang tidak tersedia di destinasi.

    rsync -avhz -sedia ada /opt /backups /mnt /disk1  

  11. Kemas kini fail hanya jika sumbernya lebih baru
  12. Gunakan --Kemas kini pilihan untuk mengemas kini fail di jauh hanya jika terdapat versi yang lebih baru adalah tempatan. RSYNC akan membuat fail di destinasi jika tidak wujud. Juga, fail kemas kini di destinasi cap waktu setempat lebih baru daripada fail sistem jauh.

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

  13. Keluarkan fail dari sumber selepas disegerakkan
  14. Gunakan --Keluarkan-sumber-fail Pilihan untuk mengeluarkan fail dari sumber setelah berjaya dipindahkan ke destinasi. Contohnya, anda perlu menjadualkan sandaran fail log ke sistem terpencil. Juga, ingin memasuki fail jauh dari sistem tempatan setelah berjaya disalin ke jauh. Ini akan membantu menuntut ruang cakera.

    rsync-remove-source-files -avhz/var/log [e-mel dilindungi]:/sandaran/log/  

  15. Tidak termasuk fail atau direktori tertentu dengan rsync
  16. Anda boleh menentukan fail atau corak dengan --tidak termasuk = corak pilihan untuk dikecualikan dari rsync.

    rsync -avh --exclude '*.zip '--exclude'*.log ' /src [dilindungi e -mel]: /DEST  

  17. Sertakan fail tertentu dengan rsync
  18. RSYNC lalai merangkumi semua fail di bawah pokok direktori sumber. Sekarang, anda perlu memasukkan hanya fail khusus untuk disegerakkan ke destinasi.

    Di sini anda boleh menentukan --termasuk = corak untuk memasukkan fail tertentu dan tidak termasuk semua fail dengan * .

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

  19. Paparkan kemajuan dengan rsync
  20. Gunakan --kemajuan Pilihan untuk memaparkan kemajuan semasa pemindahan fail antara sumber dan destinasi dengan arahan rsync.

    RSYNC -AVH --PROGES /SRC [E -mel dilindungi]: /DEST  

  21. Kebenaran fail chnage dengan rsync
  22. Anda boleh mengarahkan rsync untuk menukar pemilik fail dan pemilik kumpulan di destinasi. Gunakan pilihan --Chown = Pengguna: Kumpulan dengan rsync untuk menukar kebenaran fail.

    rsync -avh --chown = pengguna: kumpulan /src [dilindungi e -mel]: /dest  

    Begitu juga, anda boleh menggunakan -chmod = chmod Pilihan untuk menukar kebenaran fail atau direktori di destinasi.

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

  23. Rsync kering sahaja
  24. Gunakan --Kering-run pilihan untuk melaksanakan run kering sahaja. Ini akan menunjukkan hasil yang sama seperti arahan asal tetapi tidak ada yang akan dikemas kini di destinasi. Pada asasnya, kita boleh menggunakannya untuk memeriksa, apa yang akan dikemas kini rsync sebelum menjalankannya.

    RSYNC -AVH -DRY -RUN /SRC [E -mel dilindungi]: /DEST  

Kesimpulan

RSYNC adalah utiliti yang hebat untuk memindahkan sejumlah besar data antara dua mesin. Anda juga boleh menggunakan rsync untuk menyokong keseluruhan sistem di lokasi sandaran jauh dalam artikel ini. Anda telah mempelajari beberapa contoh perintah rsync praktikal dalam artikel ini yang bagus untuk tugas harian.