Bekerja dengan RSYNC

Bekerja dengan RSYNC

Sebagai pentadbir sistem atau hanya pengguna rumah yang sedar sandaran, lambat laun (biasanya lebih awal) anda perlu berurusan dengan sandaran. Bencana berlaku, mulai dari ribut elektrik untuk memacu kegagalan, dan seseorang perlu disediakan. Kita tidak dapat menekankan kepentingan mempunyai salinan data penting. Walaupun keseluruhan konsep sandaran terlalu lama untuk artikel ini, kami akan memberi tumpuan kepada rsync untuk apa yang disebut sandaran tambahan.

Sandaran tambahan adalah berdasarkan idea bahawa, sebaik sahaja anda mempunyai salinan data yang anda perlukan untuk sandaran, akibat sandaran data yang sama harus ditambah, yang bermaksud bahawa anda hanya mengemas kini salinan sandaran dengan perbezaan sejak operasi terakhir berlaku, tidak buat salinan penuh yang lain. Kami akan terperinci di sini persediaan yang kami ada di rumah untuk menyandarkan data penting, tetapi contoh -contoh di sini boleh digunakan di kemudahan yang lebih besar. Sebaik sahaja anda memulakan, anda akan tahu apa, di mana dan bila anda perlukan.

Sekiranya anda mempunyai pelayan sandaran yang naik 24/7, anda boleh membuat cronjob untuk membuat sandaran data anda secara berkala. Oleh kerana contoh kami berasaskan rumah, kami mempunyai pelayan sandaran, tetapi kerana ia tidak sampai sepanjang masa, kami akan menunjukkan kepada anda bagaimana untuk melakukannya secara manual. RSYNC perlu dipasang pada kedua -dua sistem, dan itu sahaja, tidak ada kerja persediaan lain yang mesti dilakukan, sekurang -kurangnya dalam kes mudah. Harap. Sekiranya anda bimbang tentang keselamatan, RSYNC bekerja di SSH dan boleh dianggap sebagai pengganti yang selamat untuk RCP (salinan jauh) arahan, jadi semuanya baik.

Bekerja dengan RSYNC

Dalam senario kami, mesin yang mengandungi fail yang akan disokong adalah mesin ujian Debian; Kami hanya melakukan

 # Aptitude Pasang rsync 

untuk memasangnya dan itu sahaja yang perlu kita lakukan pada mesin itu. Mesin sandaran adalah freebsd 8.Kotak 2-stabil, dan di sana kami lakukan

 # cd/usr/port/net/rsync && buat pemasangan bersih 

Untuk memasang rsync. Kami tidak melakukan konfigurasi tambahan pada mesin -mesin ini, tetapi sekali lagi, ini adalah satu senario yang mudah. Baca manual rsync untuk pilihan yang anda perlukan untuk kes tertentu anda. Sebelum kita sampai ke perjanjian sebenar, mari kita jelaskan sedikit mengenai pilihan rsync biasa dan pilihan baris arahan (ya, kita tahu, 90% tidak membaca manual). Dengan RSYNC, anda boleh menarik atau menolak data dari/ke arah destinasinya, jadi secara amnya sintaks

[PULL] RSYNC [OPTION] $ Sumber $ destinasi [push] rsync [options] $ destinasi $ source 

Jalan tempatan boleh menjadi jalan relatif atau mutlak. Laluan jauh betul -betul seperti yang anda gunakan dengan SSH atau beberapa program lain yang berfungsi melalui SSH: $ user@$ hostname atau $ ipaddress: $ PATH . Menterjemahkan apa yang kami katakan di atas dan menggunakan contoh praktikal (pemacu untuk menyimpan sandaran dipasang di bawah /data1 pada mesin BSD dan kami ingin menyandarkan semua filem pengguna pada 10.1.3.98), kami mahu menolak fail dari kotak debian ke kotak freebsd, jadi kami lakukan

 $ rsync [options] [email protected]:/rumah/pengguna/filem//data1/ 

dari terminal FreeBSD. Sudah tentu anda mesti menggantikan 'pengguna', lokasi dan alamat IP dengan apa sahaja yang sesuai di laman web anda. Seperti yang kami katakan, anda boleh dengan mudah menggantikan alamat IP dengan nama hos, sama ada di rangkaian tempatan anda (pastikan anda mengedit /dll.tuan rumah) atau nama hos jauh yang dikenali oleh pelayan DNS anda. Pastikan juga bahawa anda mempunyai kebenaran yang betul untuk folder destinasi dan anda dapat membaca direktori data sumber juga. Menggunakan arahan di atas tanpa pilihan tidak akan melakukan apa -apa, kerana sumbernya adalah direktori, bukan fail tertentu. Anda boleh menggunakan kad liar shell dengan rsync, seperti

 $ rsync [options] [email protected]:/rumah/pengguna/filem/*/data1/ 

Oleh kerana rsync adalah perisian pintar, lebih baik jika anda menggunakan

 $ rsync -avr [email protected]:/rumah/pengguna/filem//data1/ 

yang akan menyalin data dalam direktori filem dalam mod arkib (-a) verbosely (-v) dan rekursif (-r). Cerita panjang pendek, jika anda ingin menyalin keseluruhan direktori, jangan lupa tentang -r dan jika anda mahu yang bertentangan, gunakan -d, yang hanya akan menyalin struktur direktori, tanpa fail. Jika jalur lebar adalah kebimbangan menambah bendera -z, tetapi ingatlah bahawa selalu ada tradeoff antara bandwith dan masa CPU: data termampat menekankan lebih banyak mesin, kedua -duanya, kerana satu memampatkan dan menghantar, yang lain menerima dan menyahpepijat. Ringkasnya, itu sahaja yang kami lakukan untuk kes kami di sini. Kami akan menggunakan perintah yang tepat ditambah bendera belakang kemudian apabila kami ingin menyegerakkan data dari kotak sandaran dan, seperti yang dinyatakan sebelum ini, hanya perbezaan yang akan diselaraskan. Walau bagaimanapun, kami akan membentangkan pilihan lain yang berguna dan digunakan secara meluas untuk rsync, kerana ini adalah salah satu daripada banyak senario di mana rsync boleh melayani anda, terutamanya yang kecil dan cepat.

Pilihan lain untuk rsync

RSYNC mempunyai banyak pilihan berguna lain: apa yang kami lakukan hanya untuk memberi anda contoh yang biasa dan mudah. Bendera -e membolehkan anda menentukan shell jauh untuk digunakan dengan rsync, seperti

 $ rsync -e ssh [argumen] 

Sekiranya anda tidak mahu menyegerakkan fail yang lebih baru di sisi penerimaan, menggunakan -u akan membawa anda ke sana. -Kemajuan akan menunjukkan kepada anda laporan langsung terperinci mengenai proses penyegerakan jauh. -padam akan memadam fail di mesin sasaran, jika sudah ada. Sekiranya fail tidak wujud dan anda tidak mahu dibuat, jadi anda memerlukan pengemaskinian murni fail yang sudah ada, gunakan -sedia ada. Mahu melihat perubahannya? Tiada masalah, gunakan -i.

Sekarang, ini hanya sebahagian kecil daripada pelbagai pilihan RSYNC, kami akan membiarkan anda menemui selebihnya. Oleh itu, arahan awal kami, dengan semua pilihan baru yang telah kami pelajari, akan kelihatan seperti ini:

 $ rsync -e ssh -avriz --progress --delete [email protected]:/rumah/pengguna/filem//data1/ 

Kami harap anda akan mendapati perisian ini seberapa banyak yang kami suka, dan jika anda mempunyai sebarang pertanyaan, ya, kami ulangi ini lagi dan lagi: Gunakan manual, Luke. Ingat untuk menggunakan rsync dengan berhati -hati walaupun, seperti yang anda kumpulkan, beberapa pilihan 'boleh menjadi agak merosakkan. Akhirnya, untuk membantu anda menghadapi situasi sehari-hari, kami akan membentangkan anda dengan beberapa contoh:

Lebih banyak contoh rsync

1. Katakan anda mahu menyegerakkan hanya satu fail. Jelas, anda tidak perlu -r, kerana itu direktori khusus, jadi anda hanya akan melakukannya

 $ rsync -v user@host:/etc/adduser.conf /root / 

2. Mungkin anda mahu bermain dengan corak yang lebih maju daripada shell anda yang dapat disediakan, atau anda hanya ingin mengecualikan/memasukkan beberapa fail/direktori. Anda hanya akan menggunakan -termasuk dan -pelak, seperti itu:

 $ rsync -avz -termasuk 'g*' --exclude '*' user@host:/etc//root/config/ 

Perintah ini hanya akan menyalin direktori dari / etc / yang bermula dengan 'g' dan tidak termasuk yang lain.

3. Mungkin anda mahu mengehadkan pemindahan rsync saiz fail maksimum dari destinasi. Seseorang boleh menggunakan -max -saiz = 'saiz' di mana 'saiz' boleh dilekatkan dengan k untuk kb, m untuk mb dan g untuk gb.

$ rsync -avz - -limit -size = '2g' /home /user /movies /backupmedia

4. Kami bercakap, sehingga sekarang, tentang betapa baiknya rsync untuk sandaran tambahan. Tetapi jika anda mungkin mahu memindahkan keseluruhan fail, sekali lagi, anda bebas melakukannya. Hanya gunakan -w:

 $ rsync -avzw/rumah/pengguna/filem/penggodam2.avi /backupmedia / 

5. Adakah anda tahu rsync boleh melaksanakan arahan pada mesin jauh untuk membantu anda mempunyai senarai apa yang hendak disalin/disegerakkan? Ia boleh, dan ia berfungsi seperti berikut:

 $ rsync -avrz user@host: "cari/rumah/pengguna/pembangunan/-name *.c -print "\/sandaran/pembangunan/ 

6. Sekiranya anda ingin menukar kaedah penyulitan lalai SSH, gunakan -rsh:

 $ rsync -avz - -rsh = "ssh -c arcfour -l user" /source /destinasi 

Anda mungkin mahu menggunakan ini terutama jika anda berada di mesin yang sangat perlahan.

7. Titik ini berkaitan dengan memelihara pelbagai atribut fail yang disalin: -p mengekalkan kebenaran, -x mengekalkan xattrs, -a mengekalkan ACLS (sistem fail sumber anda mesti mempunyai konsep ACL, tentu saja), -o memelihara pemilik (Superuser sahaja ), -H mengekalkan pautan keras dan -g memelihara kumpulan. Lakukan carian selepas perkataan "memelihara" di dalam manual rsync jika apa yang anda mahu simpan tidak disenaraikan di sini. Ingatlah bahawa -A melakukan sebahagian besar bahagian yang memelihara untuk anda, tetapi jika anda mahukan kawalan yang lebih halus, anda bebas untuk melakukannya.

 $ rsync -vzpxaohg /sumber /destinasi 

8. rsync digunakan oleh pemilik cermin di mana -mana untuk kekal semasa dengan projek mereka mencerminkan. Berikut adalah beberapa contoh:

$ rsync -vaz --elete ftp4.de.FreeBSD.org :: freeBSD// pub/ freebsd/ $ rsync -avz --elete - -safe -links rsync.Apache.org :: apache -dist/path/to/mirror $ rsync -auah rsync: // rsync.Chiark.Greenend.org.UK/FTP/Users/Sgtatham/Putty-Website-Mirror/ . 

9. Kami mahu mengeluarkan kata amaran terakhir: akhir '/' di alamat sumber adalah penting. Sekiranya anda melakukannya

 $ rsync -avz /sumber /destinasi 

anda akan mendapat hasil yang berbeza daripada jika anda telah melakukannya

 $ rsync -avz /source / /dstination 

Kami akan membiarkan anda mengetahui apa perbezaannya, bagaimanapun, jangan mencuba penemuan ini pada data penting!

Tutorial Linux Berkaitan:

  • Cara Tekanan Menguji CPU anda di Linux
  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Contoh rsync di linux
  • Cara Memisahkan Pemacu USB di Linux
  • Cara Menggunakan Google Drive di Linux
  • Cara Prestasi Cakera Penanda Aras di Linux
  • Ubuntu 20.04 Panduan
  • Perkara yang perlu dipasang di Ubuntu 22.04
  • Pengenalan kepada Automasi, Alat dan Teknik Linux