Contoh bagaimana menggunakan rsync untuk sandaran dan penyegerakan data tempatan dan jauh
- 4986
- 334
- Marcus Kassulke
RSYNC adalah alat yang sangat berguna yang membolehkan pentadbir sistem linux menyegerakkan data secara tempatan atau dengan sistem fail jauh melalui protokol SSH atau dengan menggunakan RSYNC Daemon
. Menggunakan rsync
lebih mudah daripada hanya menyalin data, kerana ia dapat melihat dan menyegerakkan hanya perbezaan antara sumber dan destinasi. Program ini mempunyai pilihan untuk memelihara keizinan sistem fail standard dan lanjutan, memampatkan data semasa pemindahan dan banyak lagi. Kami akan melihat yang paling banyak digunakan dalam panduan ini.
Dalam tutorial ini anda akan belajar:
- Cara menggunakan rsync untuk menyegerakkan data
- Cara Menggunakan RSYNC dengan sistem fail jauh melalui SSH
- Cara Menggunakan RSYNC dengan sistem fail jauh melalui daemon rsync
- Cara mengecualikan fail dari penyegerakan
Keperluan perisian dan konvensyen yang digunakan
Kategori | Keperluan, konvensyen atau versi perisian yang digunakan |
---|---|
Sistem | Pengedaran-bebas |
Perisian | Aplikasi rsync dan pilihan daemon rsync |
Yang lain | Tiada keperluan khas diperlukan untuk mengikuti panduan ini. |
Konvensyen | # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak |
RSYNC - Penggunaan
Mari mulakan dengan penggunaan asas rsync. Katakan kami mempunyai direktori di sistem fail tempatan kami, dan kami ingin menyegerakkan kandungannya dengan direktori lain, mungkin pada peranti USB luaran, untuk membuat sandaran fail kami. Demi contoh kami direktori sumber kami /MNT/data/sumber
, dan destinasi kami akan dipasang di /Run/Media/Egdoc/Destinasi
. Destinasi kami mengandungi dua fail: Fail1.txt
dan File2.txt
, Walaupun destinasi kosong. Kali pertama kita menjalankan rsync
Semua data disalin:
Jalan tujuan adalah perkara terakhir yang kami berikan dalam perintah. Jika kita kini menyenaraikan kandungannya, kita dapat melihat bahawa ia kini mengandungi fail sumber:
$ ls/run/media/egdoc/destinasi/-l total 0 -rw-r---. 1 EGDOC EGDOC 0 OCT 6 19:42 FILE1.TXT -RW-R-R--. 1 EGDOC EGDOC 0 OCT 6 19:42 FILE2.txt
Masa -masa berikutnya kami menjalankan RSYNC untuk menyegerakkan dua direktori, hanya fail baru dan fail yang diubah suai akan disalin: ini akan menjimatkan banyak masa dan sumber. Mari sahkannya: Pertama kita mengubah suai kandungan File1.TXT di dalam direktori sumber:
$ echo linuxconfig>/mnt/data/source/file1.txt
Kemudian, kami akan berlari rsync
Sekali lagi, tonton output:
$ rsync -av/mnt/data/source//run/media/egdoc/destinasi Menghantar fail fail tambahan1.txt dihantar 159 bait yang diterima 35 bait 388.00 bytes/shs total saiz adalah 12 kelajuan adalah 0.06
Satu -satunya fail yang disalin adalah yang kami diubahsuai, File1.txt.
Buat salinan cermin sumber ke destinasi
Secara lalai rsync
Hanya pastikan semua fail di dalam direktori sumber (kecuali yang dinyatakan sebagai pengecualian) disalin ke destinasi: ia tidak menjaga menjaga dua direktori sama, dan ia tidak mengeluarkan fail; Oleh itu, jika kita mahu membuat salinan cermin sumber ke destinasi, kita mesti menggunakan --Padam
pilihan, yang menyebabkan penyingkiran fail yang ada hanya di dalam destinasi.
Katakan kami membuat fail baru yang dipanggil Fail3.txt
di direktori destinasi:
$ sentuh/run/media/egdoc/destinasi/fail3.txt
Fail tidak wujud di direktori sumber, jadi jika kita menjalankan rsync
dengan --Padam
pilihan, ia dikeluarkan:
$ rsync -av - -delete/mnt/data/sumber//run/media/egdoc/destinasi menghantar senarai fail tambahan memadam fail3.txt ./ Dihantar 95 bait diterima 28 bait 246.00 bytes/sec saiz jumlah adalah 0 speedup adalah 0.00
Oleh kerana penyegerakan ini berpotensi merosakkan, anda mungkin mahu melancarkan RSYNC terlebih dahulu dengan --Kering-run
pilihan, untuk menjadikan program memaparkan operasi yang akan dilakukan, tanpa benar -benar mengubah suai sistem fail.
Menyegerakkan fail dari jauh
Sehingga kini, kami melihat cara menggunakan rsync untuk menyegerakkan dua sistem fail tempatan. Program ini juga boleh digunakan untuk menyegerakkan fail dari jauh, menggunakan shell jauh seperti rsh
atau SSH
, atau rsync
Daemon. Kami akan meneroka kedua -dua kaedah.
Menjalankan rsync melalui ssh
Demi contoh kami, kami masih akan menggunakan direktori sumber yang sama yang kami gunakan dalam contoh sebelumnya, tetapi sebagai destinasi, kami akan menggunakan direktori pada mesin jauh dengan IP 192.168.122.32
. Sebelum ini saya menyediakan pelayan OpenSsh dengan log masuk berasaskan utama pada mesin, oleh itu saya tidak perlu memberikan kata laluan untuk mengaksesnya.
Bagaimana Kita Boleh Berjalanrsync
melalui SSH
? Pertama sekali, untuk penyegerakan jauh untuk berfungsi, RSYNC mesti dipasang pada sumber dan mesin jauh. RSYNC cuba menghubungi sistem fail jauh menggunakan program shell jauh apabila laluan destinasi atau sumber mengandungi a :
watak. Dalam versi moden rsync SSH
digunakan secara lalai; Untuk menggunakan shell jauh lain, atau untuk mengisytiharkan shell secara eksplisit, kita boleh menggunakan -e
pilihan dan berikannya sebagai hujah. Menganggap direktori destinasi kami di mesin jauh adalah /rumah/egdoc/destinasi
, kita boleh lari:
$ rsync -av -e ssh/mnt/data/sumber/[email protected]:/rumah/egdoc/destinasi
Perhatikan bahawa kami menentukan destinasi dalam borang @:/jalan/ke/direktori
.
Menghubungi mesin jauh melalui daemon rsync
Kaedah lain yang boleh kita gunakan untuk menyegerakkan fail dengan mesin jauh adalah dengan menggunakan RSYNC Daemon
. Ini jelas memerlukan daemon dipasang dan berjalan di mesin destinasi. Rsync cuba menghubungi mesin jauh bercakap dengan daemon apabila laluan sumber atau tujuan mengandungi a ::
(kolon berganda) pemisah selepas spesifikasi tuan rumah, atau apabila URL rsync ditentukan sebagai rsync: //
.
Menganggap daemon rsync sedang mendengar di pelabuhan 873
(lalai), pada mesin jauh, kita boleh menghubunginya dengan menjalankan:
$ rsync -av/mnt/data/sumber/192.168.122.32 ::modul/destinasi
Sebagai alternatif kita boleh menggunakan URL RSYNC
:
$ rsync -av/mnt/data/sumber/rsync: // 192.168.122.32/modul/destinasi
Dalam kedua -dua contoh, modul
(diserlahkan dalam perintah), tidak mewakili nama direktori pada mesin jauh, tetapi nama sumber, atau modul
Dalam istilah rsync, dikonfigurasikan oleh pentadbir, dan boleh diakses melalui daemon rsync. Modul boleh menunjuk kepada laluan apa pun di sistem fail.
Tidak termasuk fail dari penyegerakan
Kadang -kadang kita mahu mengecualikan beberapa fail atau direktori dari penyegerakan. Pada dasarnya terdapat dua cara kita dapat melaksanakan tugas ini: dengan menentukan corak pengecualian secara langsung dengan --tidak termasuk
(Corak berganda boleh ditentukan dengan mengulangi pilihan), atau dengan menulis semua corak ke dalam fail (satu setiap baris). Apabila menggunakan kaedah yang terakhir, kita mesti lulus laluan fail sebagai hujah ke --tidak termasuk-dari
pilihan.
Semua fail dan direktori yang sepadan dengan corak akan dikecualikan daripada penyegerakan. Sebagai contoh, untuk mengecualikan semua fail dengan ".TXT "Extension Kami akan menjalankan:
$ rsync -av/mnt/data/sumber//run/media/egdoc/destinasi --exclude =*.txt
Kesimpulan
Dalam artikel ini, kami melihat dengan cepat ke RSYNC, alat yang sangat berguna yang boleh kami gunakan untuk menyegerakkan fail dan direktori baik di sistem fail tempatan dan jauh. Kami melihat program pilihan yang paling banyak digunakan, dan apa yang mereka biarkan, bagaimana untuk menentukan direktori sumber dan destinasi, dan kaedah yang boleh kami gunakan untuk menghubungi sistem fail jauh. Akhirnya kita melihat bagaimana untuk mengecualikan fail dari penyegerakan, menentukan corak pengecualian secara langsung atau di dalam fail. RSYNC mempunyai banyak pilihan, terlalu banyak yang disebutkan di sini. Seperti biasa, kita dapat mencari semua maklumat yang kita perlukan ke dalam manual program!
Tutorial Linux Berkaitan:
- Perkara yang hendak dipasang di Ubuntu 20.04
- Pengenalan kepada Automasi, Alat dan Teknik Linux
- Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
- Menguasai Gelung Skrip Bash
- Ubuntu 20.04 Trik dan Perkara yang Anda Tidak Tahu
- Ubuntu 20.04 Panduan
- Contoh rsync di linux
- Gelung bersarang dalam skrip bash
- Manipulasi data besar untuk keseronokan dan keuntungan bahagian 1
- Mint 20: Lebih baik daripada Ubuntu dan Microsoft Windows?