Contoh tentang cara menggunakan rsync untuk cadangan data dan sinkronisasi lokal dan jarak jauh
- 1203
- 320
- Miss Angelo Toy
RSYNC adalah alat yang sangat berguna yang memungkinkan administrator sistem Linux menyinkronkan data secara lokal atau dengan sistem file jarak jauh melalui protokol SSH atau dengan menggunakan Rsync Daemon
. Menggunakan rsync
lebih nyaman daripada sekadar menyalin data, karena dapat melihat dan menyinkronkan hanya perbedaan antara sumber dan tujuan. Program ini memiliki opsi untuk mempertahankan izin sistem file standar dan diperpanjang, mengompres data selama transfer dan banyak lagi. Kami akan melihat yang paling banyak digunakan dalam panduan ini.
Dalam tutorial ini Anda akan belajar:
- Cara menggunakan rsync untuk menindaskan data
- Cara menggunakan rsync dengan sistem file jarak jauh melalui ssh
- Cara menggunakan rsync dengan sistem file jarak jauh melalui daemon rsync
- Cara mengecualikan file dari sinkronisasi
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distribusi-independen |
Perangkat lunak | Aplikasi RSYNC dan secara opsional RSYNC Daemon |
Lainnya | Tidak diperlukan persyaratan khusus untuk mengikuti panduan ini. |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Rsync - penggunaan
Mari kita mulai dengan penggunaan dasar rsync. Misalkan kami memiliki direktori pada sistem file lokal kami, dan kami ingin menyinkronkan kontennya dengan direktori lain, mungkin pada perangkat USB eksternal, untuk membuat cadangan file kami. Demi contoh kami, direktori sumber kami /mnt/data/sumber
, dan tujuan kami akan dipasang di /run/media/egdoc/tujuan
. Tujuan kami berisi dua file: file1.txt
Dan file2.txt
, Saat tujuan kosong. Pertama kali kami berlari rsync
Semua data disalin:
Jalur tujuan adalah hal terakhir yang kami berikan dalam perintah. Jika kita sekarang mencantumkan kontennya, kita dapat melihat bahwa sekarang berisi file sumber:
$ ls/run/media/egdoc/destination/-l total 0 -rw-r-r--. 1 EGDOC EGDOC 0 Okt 6 19:42 File1.txt -rw-r-r--. 1 EGDOC EGDOC 0 Okt 6 19:42 File2.txt
Waktu berikutnya kami menjalankan RSYNC untuk menyinkronkan dua direktori, hanya file baru dan file yang dimodifikasi yang akan disalin: Ini akan menghemat banyak waktu dan sumber daya. Mari kita pahami: Pertama kita memodifikasi konten file1.txt di dalam direktori sumber:
$ echo linuxconfig>/mnt/data/sumber/file1.txt
Lalu, kami akan lari rsync
Sekali lagi, perhatikan outputnya:
$ rsync -av/mnt/data/sumber//run/media/egdoc/tujuan mengirim file daftar file tambahan1.txt dikirim 159 byte menerima 35 byte 388.00 byte/detik ukuran total adalah 12 speedup adalah 0.06
Satu -satunya file yang disalin adalah yang kami modifikasi, file1.txt.
Buat salinan cermin sumber ke tujuan
Secara default rsync
Pastikan bahwa semua file di dalam direktori sumber (kecuali yang ditentukan sebagai pengecualian) disalin ke tujuan: tidak perlu menjaga kedua direktori identik, dan tidak menghapus file; Oleh karena itu, jika kita ingin membuat salinan cermin sumber ke tujuan, kita harus menggunakan --menghapus
opsi, yang menyebabkan penghapusan file yang ada hanya di dalam tujuan.
Misalkan kita membuat file baru yang dipanggil File3.txt
Di direktori tujuan:
$ touch/run/media/egdoc/destination/file3.txt
File tidak ada di direktori sumber, jadi jika kita berjalan rsync
dengan --menghapus
Opsi, dihapus:
$ rsync -av --delete/mnt/data/sumber//run/media/egdoc/tujuan mengirim daftar file tambahan menghapus file3.txt ./ Dikirim 95 byte menerima 28 byte 246.00 byte/detik ukuran total adalah 0 speedup adalah 0.00
Karena sinkronisasi ini berpotensi merusak, Anda mungkin ingin terlebih dahulu meluncurkan RSYNC dengan --Dry-run
opsi, untuk membuat program menampilkan operasi yang akan dilakukan, tanpa benar -benar memodifikasi sistem file.
Sinkronisasi file dari jarak jauh
Sampai sekarang, kami melihat cara menggunakan rsync untuk menyinkronkan dua sistem file lokal. Program ini juga dapat digunakan untuk menyinkronkan file dari jarak jauh, menggunakan shell jarak jauh seperti rsh
atau ssh
, atau rsync
Daemon. Kami akan mengeksplorasi kedua metode.
Menjalankan rsync melalui ssh
Demi contoh kami, kami masih akan menggunakan direktori sumber yang sama yang kami gunakan dalam contoh sebelumnya, tetapi sebagai tujuan, kami akan menggunakan direktori pada mesin jarak jauh dengan IP 192.168.122.32
. Saya sebelumnya mengatur server openssh dengan login berbasis kunci pada mesin, oleh karena itu saya tidak perlu memberikan kata sandi untuk mengaksesnya.
Bagaimana kita bisa berlarirsync
melalui ssh
? Pertama -tama, agar sinkronisasi jarak jauh berfungsi, RSYNC harus diinstal baik pada sumber dan mesin jarak jauh. RSYNC mencoba menghubungi sistem file jarak jauh menggunakan program shell jarak jauh setiap kali tujuan atau jalur sumber berisi a :
karakter. Dalam versi modern rsync ssh
digunakan secara default; Untuk menggunakan shell jarak jauh lain, atau untuk mendeklarasikan shell secara eksplisit, kita dapat menggunakan -e
opsi dan berikan sebagai argumen. Seandainya direktori tujuan kami di mesin jarak jauh /home/egdoc/tujuan
, kita bisa menjalankan:
$ rsync -av -e ssh/mnt/data/sumber/[email protected]:/home/egdoc/tujuan
Perhatikan bahwa kami menentukan tujuan dalam formulir @:/path/to/direktori
.
Menghubungi mesin jarak jauh melalui daemon rsync
Metode lain yang dapat kita gunakan untuk menyinkronkan file dengan mesin jarak jauh adalah dengan menggunakan Rsync Daemon
. Ini jelas membutuhkan daemon yang diinstal dan berjalan di mesin tujuan. Rsync mencoba menghubungi mesin jarak jauh yang berbicara dengan daemon setiap kali sumber atau jalur tujuan berisi a ::
(Double Colon) Separator Setelah spesifikasi host, atau ketika URL RSYNC ditentukan sebagai rsync: //
.
Seandainya daemon rsync mendengarkan di port 873
(default), pada mesin jarak jauh, kami dapat menghubungi dengan menjalankan:
$ rsync -av/mnt/data/sumber/192.168.122.32 ::modul/tujuan
Atau kita bisa menggunakan URL rsync
:
$ rsync -av/mnt/data/sumber/rsync: // 192.168.122.32/modul/tujuan
Di kedua contohnya, modul
(disorot dalam perintah), tidak mewakili nama direktori pada mesin jarak jauh, tetapi nama sumber daya, atau modul
Dalam terminologi RSYNC, dikonfigurasi oleh administrator, dan dapat diakses melalui daemon rsync. Modul dapat menunjuk ke jalur apa pun pada sistem file.
Tidak termasuk file dari sinkronisasi
Terkadang kami ingin mengecualikan beberapa file atau direktori dari sinkronisasi. Pada dasarnya ada dua cara kita dapat menyelesaikan tugas ini: dengan menentukan pola pengecualian secara langsung --mengecualikan
(Beberapa pola dapat ditentukan dengan mengulangi opsi), atau dengan menulis semua pola ke dalam file (satu per baris). Saat menggunakan metode yang terakhir, kita harus meneruskan jalur file sebagai argumen ke --tidak termasuk-dari
pilihan.
Semua file dan direktori yang cocok dengan polanya akan dikecualikan dari sinkronisasi. Misalnya, untuk mengecualikan semua file dengan “.txt ”ekstensi yang akan kami jalankan:
$ rsync -av/mnt/data/sumber//run/media/egdoc/destination --exclude =*.txt
Kesimpulan
Dalam artikel ini kami melihat cepat ke RSYNC, alat yang sangat berguna yang dapat kami gunakan untuk menyinkronkan file dan direktori baik pada sistem file lokal maupun jarak jauh. Kami melihat program yang paling banyak digunakan opsi, dan apa yang mereka izinkan untuk kami capai, cara menentukan direktori sumber dan tujuan, dan metode yang dapat kami gunakan untuk menghubungi sistem file jarak jauh. Akhirnya kami melihat cara mengecualikan file dari sinkronisasi, menentukan pola pengecualian secara langsung atau di dalam file. Rsync memiliki banyak pilihan, terlalu banyak untuk disebutkan di sini. Seperti biasa, kami dapat menemukan semua informasi yang kami butuhkan ke dalam manual program!
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Menguasai loop skrip bash
- Ubuntu 20.04 trik dan hal -hal yang mungkin tidak Anda ketahui
- Ubuntu 20.04 Panduan
- Contoh RSYNC di Linux
- Loop bersarang dalam skrip bash
- Manipulasi data besar untuk kesenangan dan keuntungan bagian 1
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?