Android

Bagaimana menggunakan rsync untuk pemindahan dan penyegerakan data tempatan dan jauh

Linux Commands for Beginners 24 - Transferring Files with rsync

Linux Commands for Beginners 24 - Transferring Files with rsync

Isi kandungan:

Anonim

Rsync adalah utiliti baris cepat dan serba boleh yang menyegerakkan fail dan folder antara dua lokasi melalui shell jauh, atau dari / ke daemon Rsync jauh. Ia menyediakan pemindahan fail incremental dengan memindahkan hanya perbezaan antara sumber dan destinasi.

Rsync boleh digunakan untuk mencerminkan data, backup tambahan, menyalin fail antara sistem dan sebagai pengganti untuk perintah scp , sftp , dan cp untuk kegunaan setiap hari.

Dalam tutorial ini, kami akan menunjukkan kepada anda cara menggunakan rsync melalui contoh praktikal dan penjelasan terperinci tentang pilihan rsync paling biasa.

Memasang Rsync

Utiliti rsync telah dipasang pada kebanyakan pengedaran Linux dan macOS. Anda boleh menyemak sama ada ia dipasang pada sistem anda dengan menaip:

rsync --version

rsync version 3.1.2 protocol version 31

Pasang Rsync pada Ubuntu dan Debian

sudo apt install rsync

Pasang Rsync pada CentOS dan Fedora

sudo yum install rsync

Sintaks Perintah Rsync

Sebelum masuk ke cara menggunakan arahan rsync , mari bermula dengan mengkaji sintaks dasar.

Ungkapan utiliti rsync mengambil bentuk berikut:

Local to Local: rsync…… DEST Local to Remote: rsync…… HOST:DEST Remote to Local: rsync… HOST:SRC…

  • OPTION - Pilihan rsync. SRC - Direktori sumber. DEST - Direktori destinasi. USER - Nama pengguna jauh. HOST - Nama hos jauh atau Alamat IP.

rsync menyediakan beberapa pilihan yang mengawal setiap aspek tingkah lakunya. Pilihan yang paling banyak digunakan ialah:

  • -a , -a arkib, mod arkib, bersamaan dengan -rlptgoD . Pilihan ini memberitahu rsync untuk menyegerakkan direktori secara rekursif, memindahkan peranti khas dan blok, mengekalkan pautan simbolik, masa pengubahsuaian, kumpulan, pemilikan, dan kebenaran. -z , - --compress . Pilihan ini akan memaksa rsync untuk memampatkan data kerana ia dihantar ke mesin destinasi. Gunakan pilihan ini hanya jika sambungan ke mesin jauh lambat. -P , bersamaan dengan - --partial --progress . Apabila pilihan ini digunakan rsync akan menunjukkan bar kemajuan semasa pemindahan dan menyimpan fail yang dipindahkan sebahagiannya. Ia berguna apabila memindahkan fail besar ke sambungan rangkaian perlahan atau tidak stabil. --delete . Apabila menggunakan opsyen ini rsync akan memadamkan fail luaran dari lokasi destinasi. Ia berguna untuk mencerminkan. -q , --quiet . Gunakan pilihan ini jika anda ingin menekan mesej bukan ralat. -e . Pilihan ini membolehkan anda memilih shell jauh berbeza. Secara lalai, rsync dikonfigurasikan untuk menggunakan ssh.

Penggunaan Rsync Asas

Untuk menyalin satu fail dari satu ke lokasi setempat yang lain, anda akan menjalankan perintah berikut:

rsync -a /opt/filename.zip /tmp/

Pengguna yang menjalankan arahan mesti membaca kebenaran di lokasi destinasi dan menulis keizinan pada destinasi.

Mengosongkan nama fail dari lokasi tujuan menyalin fail dengan nama semasa. Jika anda mahu menyimpan fail di bawah nama yang berbeza, nyatakan nama baru di bahagian destinasi:

rsync -a /opt/filename.zip /tmp/newfilename.zip

Dalam contoh di bawah, kami mencipta sandaran tempatan fail laman web kami:

rsync -a /var/www/domain.com/public_html/ /var/www/domain.com/public_html_backup/

Jika direktori destinasi tidak wujud rsync akan menciptanya.

Perlu dinyatakan bahawa rsync memberikan rawatan yang berbeza kepada direktori sumber dengan garis miring / . Jika anda menambah slash trailing pada direktori sumber, ia akan menyalin hanya kandungan direktori itu ke direktori destinasi. Apabila slash trailing diabaikan rsync akan menyalin direktori sumber dalam direktori destinasi.

Cara Menggunakan Rsync untuk Menyegerakkan Data dari / ke Mesin jauh

Apabila menggunakan rsync untuk pemindahan jauh, ia mestilah dipasang pada kedua-dua sumber dan mesin destinasi. Versi baru rsync dikonfigurasikan untuk menggunakan SSH sebagai shell lalai lalai.

Dalam contoh berikut, kami memindahkan direktori dari setempat ke mesin jauh:

rsync -a /opt/media/ remote_user@remote_host_or_ip:/opt/media/ Jika anda tidak menetapkan login SSH tanpa kata laluan ke mesin jauh, anda akan diminta memasukkan kata laluan pengguna.

Jika anda ingin memindahkan data dari jarak jauh ke mesin tempatan maka anda perlu menggunakan lokasi terpencil sebagai sumber:

rsync -a remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Jika SSH di hos jauh mendengar di port selain daripada lalai 22 maka anda boleh menentukan port menggunakan pilihan -e :

rsync -a -e "ssh -p 2322" /opt/media/ remote_user@remote_host_or_ip:/opt/media/

Apabila memindahkan sejumlah besar data, disyorkan untuk menjalankan perintah rsync di dalam sesi skrin atau menggunakan pilihan -P :

rsync -a -P remote_user@remote_host_or_ip:/opt/media/ /opt/media/

Keluarkan Fail dan Direktori

Apabila tidak termasuk fail atau direktori, anda perlu menggunakan laluan relatif mereka ke lokasi sumber.

Terdapat dua pilihan untuk mengecualikan fail dan direktori. Pilihan pertama adalah menggunakan argumen --exclude dan tentukan fail dan direktori yang ingin dikecualikan pada baris arahan.

Dalam contoh berikut, kita tidak termasuk node_modules dan direktori tmp yang terletak di dalam src_directory :

rsync -a --exclude=node_modules --exclude=tmp /src_directory/ /dst_directory/

Opsyen kedua ialah menggunakan --exclude-from dan --exclude-from fail dan direktori yang ingin dikecualikan dalam fail.

rsync -a --exclude-from='/exclude-file.txt' /src_directory/ /dst_directory/ /exclude-file.txt

node_modules tmp

Kesimpulannya

Dalam tutorial ini, anda belajar bagaimana menggunakan Rsync untuk menyalin dan menyegerakkan fail dan direktori. Terdapat banyak lagi untuk mengetahui tentang Rsync di halaman Manual Pengguna Rsync.

Jangan ragu untuk meninggalkan komen jika anda mempunyai sebarang pertanyaan.

terminal rsync