Rumah > Tutorial sistem > LINUX > Cara Menyegerakkan Direktori Tempatan dan Jauh Menggunakan RSYNC di Linux

Cara Menyegerakkan Direktori Tempatan dan Jauh Menggunakan RSYNC di Linux

William Shakespeare
Lepaskan: 2025-03-21 09:12:14
asal
589 orang telah melayarinya

RSYNC: Alat yang berkuasa untuk menyegerakkan direktori tempatan dan jauh

RSYNC adalah utiliti yang teguh dan serba boleh untuk menyegerakkan direktori, dengan cekap memindahkan hanya bahagian fail yang diubahsuai. Ini menjadikannya sesuai untuk menguruskan direktori besar dengan fail yang sering dikemas kini, sama ada antara dua mesin atau pada satu sistem. Fleksibilitasnya dipertingkatkan dengan ciri -ciri seperti integrasi SSH, pemampatan data, pemeliharaan atribut fail (keizinan dan cap waktu), dan keupayaan untuk mengeluarkan fail dari destinasi yang tidak hadir dari sumber.

Struktur Perintah RSYNC:

 rsync [pilihan] [sumber] [destinasi]
Salin selepas log masuk

Pilihan RSYNC Utama:

  • -a ( --archive ): Memelihara metadata fail penting (pautan simbolik, keizinan, timestamps).
  • -v ( --verbose ): Menyediakan output terperinci.
  • -r ( --recursive ): memproses direktori secara rekursif.
  • --delete : Menghapuskan fail dari destinasi yang tidak ada di sumbernya. Penting untuk penyegerakan sebenar.
  • -z ( --compress ): Memampatkan data semasa pemindahan, menjimatkan jalur lebar.
  • -h ( --human-readable ): Memaparkan saiz fail dan data berangka lain dalam format mesra pengguna.
  • -P : Menggabungkan --partial (resume pemindahan terganggu) dan --progress (memaparkan kemajuan pemindahan).

Senario dan persediaan penyegerakan:

RSYNC adalah berharga untuk pelbagai tugas: Menyandarkan data ke pelayan jauh, berkongsi fail di seluruh mesin, menggunakan kod untuk pengeluaran, dan mengekalkan konsistensi antara persekitaran pembangunan dan pementasan.

Untuk contoh panduan ini, kami akan menggunakan:

Sistem Tempatan: Debian 11 Desktop, Direktori Tempatan: ~/local/sync/

Sistem Jauh: Debian 12 Server, Pengguna Jauh: ostechnix , Jauh IP: 192.168.1.12 , Direktori Jauh: ~/remote/sync/

Penggunaan Asas:

Dengan mengandaikan rsync dipasang dan keizinan ditetapkan dengan betul, salinan arahan berikut/menyegerakkan direktori tempatan ke jauh:

 rsync -avzp ~/local/sync/ostechnix@192.168.1.12: ~/jauh/sync/
Salin selepas log masuk

Ingatlah untuk menggantikan ruang letak dengan laluan sebenar, alamat IP, dan nama pengguna anda.

Cara Menyegerakkan Direktori Tempatan dan Jauh Menggunakan RSYNC di Linux

Cara Menyegerakkan Direktori Tempatan dan Jauh Menggunakan RSYNC di Linux

Penyegerakan yang benar dengan --delete :

Perintah di atas mencerminkan sumber ke destinasi. Untuk memastikan penyegerakan lengkap (kandungan yang sama), gunakan --delete :

 rsync -avzp - -delete ~/local/sync/ostechnix@192.168.1.12: ~/jauh/sync/
Salin selepas log masuk

Ini menghilangkan fail dari destinasi yang tidak hadir di sumbernya. Berhati -hati dengan --delete untuk mengelakkan kehilangan data yang tidak disengajakan.

Cara Menyegerakkan Direktori Tempatan dan Jauh Menggunakan RSYNC di Linux

Pertimbangan penting:

  • Slashes trailing ( / ) selepas laluan direktori adalah penting. Menghilangkan mereka boleh membawa kepada penciptaan direktori yang tidak dijangka.
  • Sahkan keizinan pada kedua -dua direktori sumber dan destinasi.
  • Pengesahan berasaskan kunci SSH disyorkan untuk penyegerakan automatik, menghapuskan petunjuk kata laluan.

Penambahbaikan selanjutnya:

  • Pengesahan SSH berasaskan utama: Menjana pasangan kunci SSH ( ssh-keygen ), salin kunci awam ke pelayan jauh ( ssh-copy-id ), dan gunakan laluan kunci lalai atau nyata menentukan laluan kunci peribadi dalam perintah rsync anda.

  • Penyegerakan masa nyata (inotify): Campurkan rsync dengan inotifywait (dari pakej inotify-tools ) untuk mencetuskan penyegerakan apabila perubahan fail. Skrip sampel disediakan dalam dokumen asal.

  • Penjadualan dengan cron : Automasi Penyegerakan menggunakan cron untuk dijalankan pada selang masa tertentu (contohnya, setiap hari, setiap jam). Contoh penyertaan cron disediakan dalam dokumen asal.

  • Laluan Utama SSH yang jelas: Walaupun secara amnya tidak perlu dengan lokasi utama lalai, secara eksplisit menentukan laluan utama peribadi dalam skrip anda menawarkan lebih banyak kawalan.

Kesimpulan:

RSYNC adalah alat yang berkuasa untuk penyegerakan fail yang cekap. Memahami pilihannya dan menggunakan amalan terbaik, seperti pengesahan berasaskan kunci SSH dan tugas yang dijadualkan, memastikan pengurusan data yang boleh dipercayai dan selamat. Sentiasa menguji dengan teliti sebelum menggunakan arahan rsync ke persekitaran pengeluaran, terutamanya apabila menggunakan pilihan --delete .

Atas ialah kandungan terperinci Cara Menyegerakkan Direktori Tempatan dan Jauh Menggunakan RSYNC di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan