Contoh bagaimana menggunakan rsync untuk sandaran dan penyegerakan data tempatan dan jauh

Contoh bagaimana menggunakan rsync untuk sandaran dan penyegerakan data tempatan dan jauh

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

Keperluan Perisian dan Konvensyen Talian Perintah Linux
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?