Bekerja dengan Rsync

Bekerja dengan Rsync

Sebagai administrator sistem atau hanya pengguna rumah yang sadar cadangan, cepat atau lambat (biasanya lebih cepat) Anda harus berurusan dengan cadangan. Bencana memang terjadi, mulai dari badai listrik untuk mendorong kegagalan, dan orang perlu dipersiapkan. Kita tidak bisa cukup menekankan pentingnya memiliki salinan data penting. Sementara seluruh konsep cadangan terlalu panjang untuk artikel ini, kami akan fokus pada RSYNC untuk apa yang disebut cadangan inkremental.

Cadangan tambahan didasarkan pada gagasan bahwa, setelah Anda memiliki salinan data yang Anda butuhkan untuk mencadangkan, akibatnya cadangan dari data yang sama harus bertahap, yang berarti bahwa Anda hanya memperbarui salinan cadangan dengan perbedaan karena operasi terakhir terjadi, bukan Buat salinan lengkap lainnya. Kami akan merinci di sini pengaturan yang kami miliki di rumah untuk mencadangkan data penting, tetapi contoh di sini dapat digunakan di fasilitas yang lebih besar. Setelah Anda mulai, Anda akan tahu apa, di mana dan kapan Anda membutuhkan.

Jika Anda memiliki server cadangan yang naik 24/7, Anda dapat membuat cronjob untuk membuat cadangan data Anda secara berkala. Karena contoh kami berbasis di rumah, kami memiliki server cadangan, tetapi karena itu tidak selalu terjadi, kami akan menunjukkan kepada Anda bagaimana melakukannya secara manual. Rsync perlu dipasang di kedua sistem, dan itu saja, tidak ada tugas pengaturan lain yang harus dilakukan, setidaknya dalam kasus sederhana. Harap diingat bahwa Anda tidak berarti terikat dengan Linux atau platform UNIX lainnya: RSYNC juga tersedia untuk Windows. Jika Anda khawatir tentang keamanan, Rsync bekerja melalui SSH dan dapat dianggap sebagai pengganti yang aman untuk RCP Perintah (Copy Remote Copy), jadi semuanya baik -baik saja.

Bekerja dengan Rsync

Dalam skenario kami, mesin yang berisi file yang akan didukung adalah mesin pengujian Debian; Kami hanya melakukan a

 # aptitude instal rsync 

untuk menginstalnya dan hanya itu yang harus kami lakukan pada mesin itu. Mesin cadangan adalah freebsd 8.Kotak 2-stabil, dan di sana kami melakukannya

 # CD/USR/PORTS/NET/RSYNC && BUAT INSTAL 

untuk menginstal rsync. Kami tidak melakukan konfigurasi tambahan pada kedua mesin ini, tetapi sekali lagi, ini adalah skenario sederhana. Baca manual RSYNC untuk opsi yang mungkin Anda butuhkan untuk kasus khusus Anda. Sebelum kita sampai pada real deal, mari kita jelaskan sedikit tentang opsi RSYNC dan opsi baris perintah yang biasa (ya, kita tahu, 90% tidak membaca manual). Dengan rsync Anda dapat menarik atau mendorong data dari/menuju tujuannya, jadi umumnya sintaks akan

[pull] rsync [opsi] $ source $ destination [push] rsync [opsi] $ destination $ source 

Jalur lokal dapat berupa jalur relatif atau absolut. Jalur jarak jauh persis seperti yang Anda gunakan dengan SSH atau beberapa program lain yang berfungsi melalui SSH: $ user@$ hostname atau $ ipaddress: $ path . Menerjemahkan apa yang kami katakan di atas dan menggunakan contoh praktis (drive untuk menyimpan cadangan dipasang di bawah /data1 pada mesin BSD dan kami ingin mencadangkan semua film pengguna pada 10.1.3.98), kami ingin mendorong file dari kotak Debian ke kotak Freebsd, jadi kami lakukan

 $ rsync [opsi] [email protected]:/Beranda/Pengguna/Film//Data1/ 

Dari Terminal Freebsd. Tentu saja Anda harus mengganti 'pengguna', lokasi, dan alamat IP dengan apa pun yang sesuai di situs Anda. Seperti yang kami katakan, Anda dapat dengan mudah mengganti alamat IP dengan nama host, baik itu di jaringan lokal Anda (pastikan Anda mengedit /dll.host) atau nama host jarak jauh yang dikenal oleh server DNS Anda. Pastikan juga bahwa Anda memiliki izin yang tepat untuk folder tujuan dan Anda juga dapat membaca direktori data sumber. Menggunakan perintah di atas tanpa opsi tidak akan melakukan apa pun, karena sumbernya adalah direktori, bukan file tertentu. Anda dapat menggunakan wildcard shell dengan rsync, seperti

 $ rsync [opsi] [email protected]:/Beranda/Pengguna/Film/*/Data1/ 

Karena rsync adalah perangkat lunak yang cerdas, lebih baik jika Anda menggunakan

 $ rsync -avr [email protected]:/Beranda/Pengguna/Film//Data1/ 

yang akan menyalin data di direktori film dalam mode arsip (-a) verbosely (-v) dan rekursif (-r). Singkat cerita, jika Anda ingin menyalin seluruh direktori, jangan lupa tentang -r dan jika Anda menginginkan sebaliknya, gunakan -d, yang hanya akan menyalin struktur direktori, tanpa file. Jika bandwidth menjadi perhatian, tambahkan bendera -Z, tetapi ingat bahwa selalu ada tradeoff antara Bandwith dan waktu CPU: data terkompresi lebih menekankan mesin, keduanya, karena satu mengompres dan mengirim, yang lain menerima dan mendekompresi. Singkatnya, hanya itu yang benar -benar kami lakukan untuk kasus kami di sini. Kami akan menggunakan perintah yang tepat ditambah flag -backup nanti ketika kami ingin menyinkronkan data dari kotak cadangan dan, seperti yang dinyatakan sebelumnya, hanya perbedaan yang akan disinkronkan. Meskipun demikian, kami akan memberi Anda opsi lain yang berguna dan banyak digunakan untuk RSYNC, karena ini adalah salah satu dari banyak skenario di mana RSYNC dapat melayani Anda, terutama yang kecil dan cepat.

Opsi lain untuk rsync

Rsync memiliki banyak pilihan berguna lainnya: Apa yang kami lakukan hanyalah memberi Anda contoh umum dan sederhana. Bendera -e memungkinkan Anda untuk menentukan shell jarak jauh untuk digunakan dengan rsync, seperti

 $ rsync -e ssh [argumen] 

Jika Anda tidak ingin menyinkronkan file yang lebih baru di sisi penerima, menggunakan -u akan membawa Anda ke sana. -Kemajuan akan menunjukkan kepada Anda laporan langsung yang bagus tentang proses sinkronisasi jarak jauh. -hapus akan menghapus file di mesin target, jika sudah ada. Jika file tidak ada dan Anda tidak ingin dibuat, jadi Anda perlu memperbarui murni file yang sudah ada, gunakan -yang ada. Ingin melihat perubahannya? Tidak masalah, gunakan -i.

Sekarang, ini hanya sebagian kecil dari kebanyakan opsi yang ditawarkan RSYNC, kami akan membiarkan Anda menemukan sisanya. Jadi, perintah awal kami, dengan semua opsi baru yang telah kami pelajari, akan terlihat seperti ini:

 $ rsync -e ssh -avriz --progress --delete [email protected]:/Beranda/Pengguna/Film//Data1/ 

Kami harap Anda akan menemukan perangkat lunak ini sama kami menyukainya, dan jika Anda memiliki pertanyaan, ya, kami mengulangi ini lagi dan lagi: Gunakan manual, Luke. Ingat untuk menggunakan rsync dengan hati -hati karena, saat Anda berkumpul, beberapa pilihannya bisa sangat merusak. Pada akhirnya, untuk membantu Anda berurusan dengan situasi sehari-hari, kami akan memberi Anda beberapa contoh:

Lebih banyak contoh rsync

1. Katakanlah Anda ingin menyinkronkan hanya satu file. Jelas, Anda tidak perlu -r, karena itu khusus direktori, jadi Anda hanya akan melakukannya

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

2. Mungkin Anda ingin bermain dengan pola yang lebih maju dari yang dapat disediakan oleh shell Anda, atau Anda hanya ingin mengecualikan/memasukkan beberapa file/direktori. Anda hanya akan menggunakan -mengerjaja dan -eksklude, seperti itu:

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

Perintah ini hanya akan menyalin direktori dari / etc / yang dimulai dengan 'g' dan mengecualikan yang lainnya.

3. Mungkin Anda ingin membatasi transfer RSYNC ukuran file maksimum dari tujuan. Seseorang dapat menggunakan -max -size = 'ukuran' di mana 'ukuran' dapat ditempelkan dengan k untuk kb, m untuk mb dan g untuk gb.

$ rsync -avz -terbatas -size = '2g' /home /user /film /backupmedia

4. Kami berbicara, sampai sekarang, tentang seberapa bagus RSYNC untuk cadangan tambahan. Tetapi jika Anda mungkin ingin mentransfer seluruh file, lagi, Anda bebas melakukannya. Cukup gunakan -W:

 $ rsync -avzw/home/user/film/peretas2.Avi /Backupmedia / 

5. Tahukah Anda Rsync dapat menjalankan perintah pada mesin jarak jauh untuk membantu Anda memiliki daftar apa yang harus disalin/disinkronkan? Itu bisa, dan berfungsi sebagai berikut:

 $ rsync -avrz user@host: "find/home/user/development/-name *.c -print "\/cadangan/pengembangan/ 

6. Jika Anda ingin mengubah metode enkripsi default yang digunakan SSH, gunakan -rsh:

 $ rsync -avz --rsh = "ssh -c arcfour -l user" /sumber /tujuan 

Anda mungkin ingin menggunakan ini terutama jika Anda menggunakan mesin yang sangat lambat.

7. Poin ini berurusan dengan melestarikan berbagai atribut file yang disalin: -p mempertahankan izin, -x menjaga xattrs, -a melestarikan ACL (sistem file sumber Anda harus memiliki konsep ACL, tentu saja), -o melestarikan pemilik (superuser saja (hanya superuser saja (hanya superuser saja (hanya superuser saja (hanya superuser saja (hanya superuser saja (hanya superuser saja (hanya superuser hanya superuser (superuser hanya superuser ( ), -H mempertahankan tautan keras dan -g mengawetkan kelompok. Lakukan pencarian setelah kata "cagar alam" di dalam manual rsync jika apa yang ingin Anda simpan tidak terdaftar di sini. Ingatlah bahwa -melakukan sebagian besar bagian pelestarian untuk Anda, tetapi jika Anda ingin kontrol berbutir lebih halus, Anda bebas melakukannya.

 $ rsync -vzpxaohg /sumber /tujuan 

8. Rsync digunakan oleh pemilik cermin di mana -mana untuk tetap terkini dengan proyek mereka mirroring. Berikut beberapa contoh:

$ rsync -vaz -Delete ftp4.de.Freebsd.org :: freebsd// pub/ freebsd/ $ rsync -avz --delete --fafe -link rsync.Apache.org :: Apache -Dist/Path/to/mirror $ rsync -aUH rsync: // rsync.Chiark.Greenend.org.UK/FTP/USER/SGTATHAM/PIDTY-WEBSITE-MIRROR/ . 

9. Kami ingin mengeluarkan kata peringatan terakhir: final '/' di alamat sumber itu penting. Jika kamu melakukan

 $ rsync -avz /sumber /tujuan 

Anda akan mendapatkan hasil yang berbeda dari jika Anda telah melakukannya

 $ rsync -avz /sumber / /dstination 

Kami akan membiarkan Anda menemukan apa bedanya, bagaimanapun, jangan mencoba penemuan ini pada data penting!

Tutorial Linux Terkait:

  • Cara stres uji CPU Anda di Linux
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Contoh RSYNC di Linux
  • Cara mempartisi drive usb di linux
  • Cara menggunakan Google Drive di Linux
  • Cara membandingkan kinerja disk di linux
  • Ubuntu 20.04 Panduan
  • Hal -hal yang harus diinstal pada Ubuntu 22.04
  • Pengantar Otomatisasi Linux, Alat dan Teknik