Panduan Terunggul rsync pada Ubuntu: Penyegerakan Fail & Sandaran

目次

1. Pengenalan

Apakah itu rsync?

rsync adalah alat baris perintah untuk penyegerakan dan penyalinan fail serta direktori yang cepat dan cekap. Digunakan secara meluas pada sistem Linux dan Unix-like, ia menggunakan mekanisme pemindahan perbezaan, membolehkan penyegerakan cekap bahkan untuk jumlah fail yang besar tanpa pemindahan data yang tidak perlu. Ia sering disertakan secara lalai dalam pengagihan Linux seperti Ubuntu, menjadikannya alat penting untuk pentadbir pelayan dan pembangun.

Faedah menggunakan rsync pada Ubuntu

Pada Ubuntu, rsync sangat berkesan untuk sandaran fail rutin dan penyegerakan pelbagai direktori. Tanpa bergantung pada antara muka grafik, anda boleh mencapai pemindahan fail berkelajuan tinggi, sama ada tempatan atau jauh, dengan hanya memasukkan beberapa arahan di terminal.

Ia amat berguna dalam senario berikut:

  • Sandaran rutin ke HDD luaran atau NAS
  • Penyegerakan folder projek semasa pembangunan
  • Tugas penerapan ke pelayan jauh
  • Meningkatkan ketersediaan melalui pencerminan fail

Perbezaan dengan arahan lain

Berbanding arahan cp, rsync hanya memindahkan perbezaan antara sumber dan destinasi, mengurangkan masa pemprosesan dengan ketara. Berbanding scp, ia menawarkan kelebihan seperti keupayaan untuk menyambung semula selepas ralat dan tetapan kawalan lebar jalur yang fleksibel. Selain itu, faedah utama adalah keupayaannya untuk memindahkan fail sambil mengekalkan atributnya (pemilik, kebenaran, cap masa, dsb.).

Tujuan artikel ini

Artikel ini akan memberikan penjelasan terperinci tentang cara memasang dan menggunakan rsync dengan berkesan dalam persekitaran Ubuntu, termasuk contoh arahan praktikal dan kes penggunaan. Kami akan meliputi alat GUI dan petua penyelesaian masalah untuk membantu pemula bermula dengan mudah, belajar penggunaan praktikal rsync langkah demi langkah.

2. Cara Memasang rsync (Ubuntu)

Semak jika rsync sudah dipasang secara lalai pada Ubuntu

Dalam kebanyakan persekitaran Ubuntu, rsync biasanya dipasang secara lalai. Pertama, mari kita semak jika rsync sudah tersedia menggunakan arahan berikut.

rsync --version

Jika arahan ini berjalan dan memaparkan maklumat versi, ia sudah dipasang dan sedia digunakan.

Langkah jika rsync tidak dipasang

Jika anda melihat mesej seperti “command not found” atau “rsync: command not found,” ikuti langkah-langkah ini untuk memasangnya.

  1. Kemas kini maklumat pakej:
    sudo apt update
    
  1. Pasang rsync:
    sudo apt install rsync
    
  1. Selepas pemasangan selesai, semak versi sekali lagi:
    rsync --version
    

Jika maklumat versi dipaparkan tanpa masalah, pemasangan berjaya.

Adakah pemasangan melalui snap atau kaedah lain diperlukan?

Untuk Ubuntu, memasang rsync melalui APT adalah kaedah yang paling disyorkan. Walaupun pakej snap wujud, versi APT mencukupi untuk penggunaan biasa dan menawarkan kestabilan serta keserasian yang lebih baik. Melainkan anda mempunyai sebab khusus, pilih pemasangan menggunakan APT.

Nota semasa pemasangan

  • Versi Ubuntu yang lebih lama mungkin memerlukan kemas kini repositori.
  • Ingat untuk menggunakan sudo kerana keistimewaan root diperlukan.
  • Dalam persekitaran dengan sambungan rangkaian yang tidak stabil, ralat pemasangan mungkin berlaku. Disyorkan untuk melakukan pemasangan pada rangkaian yang stabil.

3. Penggunaan Asas rsync

Sintaks asas rsync

Sintaks arahan rsync mudah namun sangat fleksibel. Bentuk asasnya adalah seperti berikut:

rsync [options] source destination

Sebagai contoh, untuk menyalin kandungan direktori /home/user/documents/ ke /mnt/backup/, anda akan tulis:

rsync -av /home/user/documents/ /mnt/backup/

Dalam arahan ini, pilihan berikut digunakan:

  • -a : Mod arkib (mengekalkan struktur direktori, kebenaran, pemilikan, dsb.)
  • -v : Output terperinci (memaparkan fail mana yang sedang disalin)

Amaran mengenai garis miring akhir dalam laluan direktori

Dalam rsync, tingkah laku berubah bergantung pada sama ada garis miring akhir disertakan dalam laluan sumber.

  • /home/user/documents/ (dengan slash) → Hanya kandungan yang disalin (contohnya, file1.txt, file2.txt, dll.)
  • /home/user/documents (tanpa slash) → Folder documents itu sendiri disalin (hasil: /mnt/backup/documents/file1.txt)

Perbezaan ini merupakan titik penting yang unik kepada rsync. Gunakan mengikut keperluan anda.

Senarai pilihan yang sering digunakan

Rsync mempunyai banyak pilihan, tetapi yang berikut biasanya digunakan untuk operasi asas:

OptionDescription
-aArchive mode (recursive, preserves attributes)
-vDisplay detailed transfer information
-nPerform a trial run with no changes (dry run)
--progressShow copy progress
--deleteDelete files in the destination that do not exist in the source

Mahukan melihat apa yang akan terjadi sebelum pelaksanaan?

Untuk memeriksa fail mana yang akan diproses sebelum benar‑benar memindahkannya, gunakan pilihan -n atau --dry-run.

rsync -av --dry-run /home/user/documents/ /mnt/backup/

Ini membolehkan anda melihat pratonton “apa yang akan terjadi” terlebih dahulu, membantu mengelakkan kehilangan data secara tidak sengaja.

Pengendalian fail tersembunyi

Rsync secara automatik memasukkan fail tersembunyi (yang bermula dengan titik .) dalam pemindahan secara lalai. Ini memudahkan penyelarasan fail konfigurasi dan maklumat persekitaran.

4. Penyelarasan dengan Pelayan Jauh

Penyelarasan jauh menggunakan rsync melalui SSH

Salah satu kelebihan utama rsync ialah keupayaannya untuk menyelaraskan fail dengan pelayan jauh melalui SSH. Ini membolehkan pemindahan data merentasi rangkaian sambil mengekalkan sambungan yang selamat.

Sintaks asas adalah seperti berikut:

rsync -avz source user@remote_IP_or_hostname:destination_path

Sebagai contoh, untuk menyelaraskan direktori tempatan /home/user/documents/ ke /var/www/backup/ pada pelayan jauh, anda boleh menggunakan:

rsync -avz /home/user/documents/ user@example.com:/var/www/backup/
  • Pilihan -z memampatkan data semasa pemindahan, yang berkesan apabila lebar jalur terhad.
  • Bahagian user@host menentukan nama pengguna SSH dan nama host destinasi.

Sambungan pertama dan penyediaan pengesahan kunci

Apabila menyambung ke destinasi jauh buat pertama kali, anda mungkin diminta untuk mengesahkan keaslian host. Jika selamat untuk meneruskan, taip “yes”.

Untuk pelaksanaan rsync yang kerap, amalan biasa ialah menyediakan pengesahan kunci SSH bagi mengelakkan pengetikan kata laluan.

  1. Hasilkan kunci SSH secara tempatan (jika anda belum memilikinya):
    ssh-keygen -t rsa
    
  1. Salin kunci awam ke pelayan jauh:
    ssh-copy-id user@example.com
    

Selepas ini, rsync boleh dijalankan tanpa kata laluan.

Apabila menentukan nombor port diperlukan

Jika pelayan jauh menggunakan port SSH bukan lalai (selain 22), anda boleh menyatakannya secara eksplisit menggunakan pilihan -e.

rsync -avz -e "ssh -p 2222" /home/user/documents/ user@example.com:/var/www/backup/

Berhati-hati dengan penyelarasan dua hala

Rsync ialah alat penyelarasan satu hala dan hanya menyelaraskan dari “sumber → destinasi”. Jika anda memerlukan penyelarasan dua hala, rsync sahaja tidak mencukupi, dan anda harus mempertimbangkan menggunakan alat lain (contohnya, unison).

5. Pilihan rsync Berguna dan Contoh Penggunaan

Pilihan berguna selain penggunaan rsync asas

Selain fungsi salinan dan penyelarasan asas, rsync menawarkan pelbagai pilihan berguna. Berikut adalah lanjutan yang membantu dalam penggunaan praktikal.

–delete: Padam fail yang tidak terdapat dalam sumber

Pilihan ini membolehkan anda memadam secara automatik fail di destinasi yang tidak wujud dalam sumber. Ini sangat berguna apabila anda ingin melakukan pencerminan (salinan lengkap).

rsync -av --delete /home/user/source/ /mnt/backup/

※ Oleh kerana terdapat risiko memadam fail penting secara tidak sengaja, disarankan untuk memeriksa dahulu dengan --dry-run.

–exclude: Kecualikan fail atau direktori tertentu

Untuk mengecualikan fail atau direktori tertentu daripada penyelarasan, gunakan --exclude.

rsync -av --exclude '*.log' --exclude 'node_modules' /project/ /backup/

Anda boleh menggabungkan pelbagai pola untuk tetapan pengecualian yang fleksibel.

–bwlimit: Had lebar jalur

Jika anda ingin menjalankan rsync di latar belakang tanpa menjejaskan trafik rangkaian lain, pilihan --bwlimit adalah berkesan untuk mengehadkan kelajuan pemindahan.

rsync -av --bwlimit=5000 /data/ user@remote:/data/

(Contoh ini mengehadkan kelajuan kepada maksimum 5MB/s)

Contoh penggunaan praktikal

rsync untuk tujuan sandaran

Rsync juga boleh digunakan sebagai alat sandaran yang mudah dan berprestasi tinggi. Berikut adalah arahan yang boleh anda gunakan untuk sandaran harian ke HDD luaran.

rsync -a --delete /home/user/ /media/usb/backup/

Di sini, --delete digunakan bersama untuk mencapai pencerminan penuh.

Pelaksanaan automatik digabungkan dengan cron

Dengan menggabungkan rsync dengan cron, anda boleh mengautomasikan penyegerakan tetap. Contohnya, untuk mengambil sandaran setiap malam pada pukul 2 pagi, edit crontab anda seperti berikut:

0 2 * * * rsync -a /home/user/ /mnt/backup/ >> /var/log/rsync.log 2>&1

Ini membolehkan penyegerakan automatik tanpa pengawasan, yang secara ketara meningkatkan kecekapan untuk tugas dan operasi pelayan.

rsync membolehkan kedua-dua “fleksibiliti” dan “kecekapan”

Daya tarikan rsync terletak pada keupayaannya untuk mencapai kedua-dua “fleksibiliti untuk menyesuaikan diri dengan sebarang tujuan” dan “kecekapan pemindahan yang tinggi” berkat set pilihan yang kaya. Sebagai kaedah untuk melaksanakan penyegerakan seperti yang dimaksudkan dengan selamat dan cepat, bukan sekadar salinan mudah, rsync adalah pilihan yang sangat berkuasa.

6. Pengenalan kepada alat GUI “Grsync”

Disyorkan untuk mereka yang tidak selesa dengan baris arahan

rsync adalah alat yang sangat berkuasa, tetapi operasinya terutamanya bergantung pada input arahan menggunakan terminal. Bagi pemula yang tidak biasa dengan Linux atau mereka yang lebih suka mengkonfigurasi dan menggunakan alat secara visual, ini mungkin terasa menakutkan.

Ini adalah di mana Grsync menjadi berguna. Grsync adalah alat GUI yang menggunakan rsync secara dalaman sambil menyediakan antara muka grafik untuk konfigurasi dan pelaksanaan.

Cara memasang Grsync (Ubuntu)

Pada Ubuntu, anda boleh memasang Grsync dengan mudah menggunakan APT.

sudo apt update
sudo apt install grsync

Selepas pemasangan, “Grsync” akan muncul dalam senarai aplikasi anda, dan mengkliknya akan melancarkan GUI.

Penggunaan asas Grsync

Antara muka Grsync adalah intuitif dan membolehkan anda mengkonfigurasi item seperti:

  • Masukkan laluan sumber dan destinasi
  • Kotak semak yang sepadan dengan pilihan rsync utama seperti “Salinan rekursif”, “Kekalkan atribut”, dan “Pilihan padam”
  • Nyatakan corak pengecualian
  • Butang Pelaksanaan ujian kering

Selepas mengkonfigurasi, mengklik butang “Laksanakan” akan menjalankan rsync di latar belakang dan melaksanakan penyegerakan fail.

Tugas berkala mudah dengan ciri Profil

Grsync membolehkan anda menyimpan tetapan konfigurasi anda sebagai “Profil”. Ini sangat mudah untuk menguruskan pelbagai tetapan sandaran atau destinasi penyegerakan.

Contohnya:

  • Profil 1: Sandaran ke pemacu USB
  • Profil 2: Segerak dengan NAS
  • Profil 3: Pencerminan ke pelayan luaran

Anda boleh menukar guna secara mudah di antara penggunaan ini secara langsung dalam GUI.

Kelebihan dan kekurangan menggunakan Grsync

ProsCons
Intuitive operation without commandsSome advanced options may not be configurable through the GUI
Configure while confirming the meaning of optionsVisualization of process details is somewhat abstract and may be insufficient for those accustomed to rsync’s output
Easy to start safely (e.g., dry run with a button)Less flexible in some situations compared to using the terminal

7. Masalah Biasa dan Penyelesaian

Keizinan fail tidak dipelihara

Simptom: Pemilik atau keizinan fail di destinasi berubah.
Punca: rsync dijalankan dengan keistimewaan pengguna biasa atau pilihan -a (arkib) tidak digunakan.
Penyelesaian:

  • Nyatakan pilihan -a secara eksplisit.
  • Jalankan rsync dengan sudo apabila perlu.
    sudo rsync -a /source/ /destination/
    

Pautan simbolik diabaikan

Simptom: Fail pautan tidak disalin, atau ia disalin sebagai fail sebenar.
Punca: Secara lalai, pautan simbolik disalin seperti adanya, tetapi tingkah laku berbeza bergantung pada pilihan.
Penyelesaian:

  • Untuk menyalin pautan seperti adanya: Gunakan -a .
  • Untuk menyalin fail sasaran itu sendiri: Tambah --copy-links .

“Permission denied” dipaparkan

Simptom: Penyegerakan gagal dengan ralat “Permission denied” untuk fail atau direktori khusus.
Punca: Keizinan akses yang tidak mencukupi.
Penyelesaian:

  • Jalankan rsync dengan sudo .
  • Semak dan betulkan kebenaran akses untuk direktori sumber atau destinasi.
    sudo rsync -a /source/ /destination/
    

“rsync: connection unexpectedly closed” dipaparkan (semasa sambungan jauh)

Simptom: Penyelarasan terganggu oleh ralat semasa sambungan ke pelayan jauh.
Punca: Masalah konfigurasi SSH, spesifikasi laluan yang salah, tetapan kebenaran jauh, dsb.
Penyelesaian:

  • Sahkan sambungan SSH sahaja: Semak jika ssh user@host berjaya.
  • Semak semula jika laluan destinasi betul.
  • Pertimbangkan masalah firewall atau port.

“Argument list too long”

Simptom: Ralat berlaku apabila cuba menyeleraskan direktori yang mengandungi bilangan fail yang sangat besar.
Punca: Melebihi had panjang hujah baris arahan.
Penyelesaian:

  • Sempitkan sasaran menggunakan --exclude atau --include .
  • Selaraskan dalam langkah berbilang, direktori demi direktori.

8. FAQ (Soalan Lazim)

Di sini kami telah menyusun soalan dan isu biasa yang dihadapi pengguna apabila menggunakan rsync pada Ubuntu. Kami akan memberikan penjelasan yang jelas dengan fokus pada titik di mana pemula sering tersekat.

Q1. Bagaimana saya boleh mengekalkan pemilikan fail dan kebenaran dengan rsync?

A1. Dengan menggunakan pilihan -a (mod arkib), anda boleh menyalin fail sambil mengekalkan kebenaran mereka, cap masa, pemilik, kumpulan, dan banyak lagi. Pilihan ini penting untuk tugas seperti sandaran konfigurasi sistem.

rsync -a /etc/ /backup/etc/

Q2. Bagaimana saya boleh mengeluarkan fail atau folder tertentu daripada penyelarasan?

A2. Anda boleh mengeluarkan fail atau corak tertentu daripada sasaran penyelarasan menggunakan pilihan --exclude.

rsync -av --exclude '*.log' /project/ /backup/project/

Corak ganda juga boleh digunakan, memudahkan pengeluaran direktori seperti node_modules atau .git.

Q3. Bagaimana saya boleh hadkan lebar jalur rangkaian dengan rsync?

A3. Pilihan --bwlimit membolehkan anda hadkan kelajuan pemindahan. Unitnya adalah KB/s.

rsync -av --bwlimit=5000 /data/ user@remote:/data/

Dalam contoh ini, kelajuan pemindahan dihadkan kepada maksimum 5MB/s. Ini berguna apabila anda tidak mahu mengisi sambungan rangkaian.

Q4. Saya mahu lihat apa yang akan berlaku sebelum pelaksanaan. Bagaimana?

A4. Menggunakan pilihan --dry-run (atau -n) mensimulasikan pemindahan tanpa benar-benar memindahkan mana-mana fail. Ia menunjukkan kepada anda apa yang akan berlaku dengan tepat.

rsync -av --dry-run /source/ /destination/

Langkah pengesahan ini amat penting apabila menggunakan rsync untuk pertama kali atau melakukan operasi yang termasuk --delete.

Q5. Adakah fail tersembunyi (fail titik) disalin?

A5. Ya, rsync termasuk fail yang bermula dengan titik (.) dalam sasaran salinan secara lalai. Walau bagaimanapun, jika anda mahu mengeluarkan fail tersembunyi tertentu, anda perlu tambah peraturan pengeluaran seperti --exclude '.*'.

Q6. Apakah perbezaan antara rsync dan scp?

A6. scp adalah alat yang fokus pada pemindahan fail ringkas dan memindahkan semua fail setiap kali. rsync mampu pemindahan berbeza, menyalin dengan cekap hanya bahagian yang telah berubah, menjadikannya lebih sesuai untuk sandaran dan pencerminan. Ia juga lebih teguh dalam menyambung semula pemindahan yang terganggu.

9. Kesimpulan

Dalam artikel ini, kami meliputi pelbagai topik mengenai rsync pada Ubuntu, dari kaedah pemasangan dan penggunaan asas kepada penyelarasan dengan pelayan jauh, pilihan berguna, menggunakan alat GUI “Grsync”, penyelesaian masalah, dan FAQ.

Ringkasan daya tarikan rsync

  • Pemindahan diferensial pantas mengelakkan pemindahan data yang tidak perlu.
  • Membolehkan sandaran dan pencerminan sambil mengekalkan kebenaran dan pemilikan.
  • Menyokong penyegerakan jauh dan boleh digunakan dengan selamat bersama SSH.
  • Pilihan yang kaya membolehkan kawalan terperinci untuk pelbagai situasi, seperti tetapan pengecualian dan had lebar jalur.
  • Boleh digabungkan dengan cron untuk mencapai automasi dan pelaksanaan berkala.
  • Alat GUI Grsync memudahkan pemula untuk beroperasi dengan yakin.

rsync adalah “alat penting untuk pengguna Linux”

Dalam persekitaran Linux termasuk Ubuntu, rsync adalah alat asas untuk operasi fail, sandaran, dan penyegerakan. Walaupun untuk pemula, mengamalkan kandungan yang diperkenalkan dalam artikel ini seharusnya membolehkan anda menggunakan rsync dengan selamat dan berkesan.

Selain itu, walaupun rsync mempunyai sintaks yang mudah, menguasainya membolehkan pengurusan fail pada tahap profesional. Mulakan dengan memahami asas‑asas, dan mengikut keperluan, gabungkan pilihan lanjutan untuk mencari cara optimum menggunakan rsync dalam persekitaran anda.

侍エンジニア塾