27Jun

Cara Menggunakan rsync untuk Backup Data Anda di Linux

click fraud protection

spanduk

rsync adalah protokol yang dibangun untuk sistem mirip-Unix yang memberikan fleksibilitas yang luar biasa untuk membuat cadangan dan sinkronisasi data. Ini dapat digunakan secara lokal untuk membuat cadangan file ke direktori yang berbeda atau dapat dikonfigurasi untuk melakukan sinkronisasi di Internet ke host lain.

Ini bisa digunakan pada sistem Windows tapi hanya tersedia melalui berbagai port( seperti Cygwin), jadi begini caranya-kita akan membicarakan pengaturannya di Linux. Pertama, kita perlu menginstal / update rsync client. Pada distribusi Red Hat, perintahnya adalah "yum install rsync" dan pada Debian itu adalah "sudo apt-get install rsync."

rsync1
Perintah pada Red Hat / CentOS, setelah masuk sebagai root( perhatikan bahwa beberapa distribusi Red Hat terbarudukung metode sudo).

rsync4
Perintah pada Debian / Ubuntu.

Menggunakan rsync untuk backup lokal

Pada bagian pertama dari tutorial ini, kami akan membuat cadangan file dari Directory1 ke Directory2.Kedua direktori ini berada pada hard drive yang sama, namun ini akan bekerja sama persis jika direktori ada pada dua drive yang berbeda. Ada beberapa cara yang berbeda untuk pendekatan ini, tergantung pada jenis backup yang ingin Anda konfigurasikan. Untuk sebagian besar tujuan, baris kode berikut akan mencukupi:

instagram viewer

$ rsync -av --delete /Directory1/ /Directory2/

Kode di atas akan menyinkronkan isi Directory1 ke Directory2, dan tidak membiarkan perbedaan antara keduanya. Jika rsync menemukan bahwa Directory2 memiliki file yang Directory1 tidak, ia akan menghapusnya. Jika rsync menemukan file yang telah diubah, dibuat, atau dihapus di Directory1, itu akan merefleksikan perubahan yang sama ke Directory2.

Ada banyak switch berbeda yang dapat Anda gunakan untuk rsync untuk mempersonalisasikannya sesuai kebutuhan spesifik Anda. Berikut adalah apa kode yang disebutkan di atas memberitahu rsync untuk dilakukan dengan backup:

1. -a = rekursif( recurse into directories), links( symlink simbul sebagai symlink), perms( preserve permissions), times( preserve modification times), groupmelestarikan grup), pemilik( pemilik pelestarian), melestarikan file perangkat, dan melestarikan file khusus.
2. -v = verbose. Alasan saya berpikir verbose adalah penting sehingga Anda dapat melihat dengan tepat apa rsync yang dicadangkan. Pikirkan tentang hal ini: Bagaimana jika hard drive Anda berjalan buruk, dan mulai menghapus file tanpa sepengetahuan Anda, maka Anda menjalankan skrip rsync Anda dan mendorong perubahan tersebut ke backup Anda, sehingga menghapus semua contoh file yang tidak ingin Anda dapatkan.menyingkirkan?
3. -delete = Ini memberitahu rsync untuk menghapus file yang ada di Directory2 yang tidak ada di Directory1.Jika Anda memilih untuk menggunakan opsi ini, saya sarankan juga menggunakan opsi verbose, untuk alasan yang disebutkan di atas.

Dengan menggunakan skrip di atas, inilah keluaran yang dihasilkan dengan menggunakan rsync untuk membackup Directory1 ke Directory2.Perhatikan bahwa tanpa saklar verbose, Anda tidak akan menerima informasi rinci semacam itu.

rsync2

Tangkapan layar di atas memberi tahu kami bahwa File1.txt dan File2.jpg terdeteksi sebagai sesuatu yang baru atau diubah dari eksemplar yang ada di Directory2, jadi mereka dicadangkan. Noob tip: Perhatikan garis miring pada akhir direktori dalam perintah rsync saya - yang diperlukan, pastikan untuk mengingatnya.

Kami akan membahas beberapa peralihan praktis di akhir tutorial ini, tapi ingatlah untuk melihat daftar lengkap Anda dapat mengetikkan "man rsync" dan melihat daftar lengkap switch yang akan digunakan.

Itu tentang mencakupnya sejauh menyangkut backup lokal. Seperti yang bisa anda katakan, rsync sangat mudah digunakan. Ini akan sedikit lebih kompleks saat menggunakannya untuk menyinkronkan data dengan host eksternal melalui Internet, namun kami akan menunjukkan cara yang sederhana, cepat, dan aman untuk melakukannya.

Menggunakan rsync untuk backup eksternal

rsync dapat dikonfigurasi dengan berbagai cara untuk backup eksternal, namun kita akan membahas metode tunneling rsync yang paling praktis( juga termudah dan paling aman) melalui SSH.Sebagian besar server dan bahkan banyak klien sudah memiliki SSH, dan bisa digunakan untuk backup rsync Anda. Kami akan menunjukkan proses untuk mendapatkan satu mesin Linux untuk membuat cadangan ke yang lain di jaringan lokal. Prosesnya akan sama persis jika satu host keluar di internet di suatu tempat, perhatikan saja bahwa port 22( atau port apa pun yang Anda gunakan untuk SSH dikonfigurasi), perlu diteruskan pada peralatan jaringan apa pun di sisi server.

Pada server( komputer yang akan menerima backup), pastikan SSH dan rsync telah terinstal.

# yum -y install ssh rsync

# sudo apt-get install ssh rsync

Selain menginstal SSH dan rsync di server, semua yang benar-benar perlu dilakukan adalah menyiapkan repositori di server tempat Anda ingin file yang didukungup, dan pastikan SSH terkunci. Pastikan pengguna yang Anda rencanakan menggunakan memiliki kata sandi yang rumit, dan mungkin juga ide bagus untuk mengganti port yang didengarkan SSH( defaultnya adalah 22).

Kami akan menjalankan perintah yang sama dengan yang kami lakukan untuk menggunakan rsync di komputer lokal, namun sertakan tambahan yang dibutuhkan untuk melakukan tunneling rsync melalui SSH ke server di jaringan lokal saya. Untuk user "geek" yang terhubung ke "192.168.235.137" dan menggunakan switch yang sama seperti di atas( -av -delete) kita akan menjalankan yang berikut ini:

$ rsync -av -delete -e ssh /Directory1/ [email protected]: /Directory2/

JikaAnda memiliki SSH yang mendengarkan di beberapa port selain 22, Anda perlu menentukan nomor port, seperti contoh di mana saya menggunakan port 12345:

$ rsync -av -delete -e 'ssh -p 12345' /Directory1/ [email protected]: /Directory2/

rsync3

Seperti yang dapat Anda lihat dari tangkapan layar di atas, keluaran yang diberikan saat membackup seluruh jaringan hampir sama seperti saat membackup secara lokal, satu-satunya yang berubah adalah perintah yang Anda gunakan. Perhatikan juga bahwa itu meminta password. Ini untuk mengautentikasi dengan SSH.Anda dapat mengatur kunci RSA untuk melewati proses ini, yang juga akan mempermudah pemasangan rsync secara otomatis.

Mengotomatisasi backup rsync

Cron dapat digunakan di Linux untuk mengotomatisasi eksekusi perintah, seperti rsync. Dengan menggunakan Cron, kita bisa membuat sistem Linux kita menjalankan backup malam hari, atau betapapun sering Anda ingin mereka berlari.

Untuk mengedit file tabel cron untuk pengguna yang masuk, jalankan:

$ crontab -e

Anda harus mengenal vi untuk mengedit file ini. Ketik "I" untuk memasukkan, lalu mulai mengedit file tabel cron.

Cron menggunakan sintaks berikut: menit jam, jam hari, hari dalam bulan, bulan tahun, hari dalam seminggu, perintah.

Ini bisa sedikit membingungkan pada awalnya, jadi saya beri contoh. Perintah berikut akan menjalankan perintah rsync setiap malam pukul 10 malam:

0 22 * ​​* * rsync -av --delete /Directory1/ /Directory2/

Yang pertama "0" menentukan menit jam, dan "22" menentukan pukul 10 malam. Karena kita ingin perintah ini dijalankan setiap hari, kita akan meninggalkan sisa field dengan tanda bintang dan kemudian menempelkan perintah rsync.

Setelah selesai mengkonfigurasi Cron, tekan escape, lalu ketik ": wq"( tanpa tanda petik) dan tekan enter. Ini akan menyimpan perubahan Anda dalam vi.

Cron bisa mendapatkan lebih banyak kedalaman dari pada ini, tapi untuk terus berlanjut, hal itu akan berada di luar cakupan tutorial ini. Kebanyakan orang hanya menginginkan cadangan mingguan atau harian sederhana, dan apa yang telah kami tunjukkan dapat dengan mudah melakukannya. Untuk informasi lebih lanjut tentang Cron, silakan lihat halaman manualnya.

Fitur lain yang berguna

Hal lain yang berguna yang dapat Anda lakukan adalah memasukkan backup Anda ke dalam file zip. Anda perlu menentukan di mana Anda ingin file zip ditempatkan, dan kemudian rsync direktori itu ke direktori backup Anda. Sebagai contoh:

$ zip /ZippedFiles/ archive.zip /Directory1/ & &rsync -av --delete /ZippedFiles/ /Directory2/

rsync5

Perintah di atas mengambil file dari Directory1, menempatkannya di archive.zip /ZippedFiles/ dan kemudian rsyncs direktori tersebut ke Directory2.Awalnya, Anda mungkin berpikir metode ini akan terbukti tidak efisien untuk backup besar, mengingat file zip akan berubah setiap saat sedikit pun perubahannya dilakukan pada file. Namun, rsync hanya mentransfer data yang telah diubah, jadi jika file zip Anda berukuran 10 GB, dan kemudian Anda menambahkan file teks ke Directory1, rsync akan mengetahui bahwa itu adalah semua yang Anda tambahkan( walaupun ada dalam zip) dan hanya mentransfer beberapa kilobytedari data berubah

Ada beberapa cara berbeda untuk mengenkripsi backup rsync Anda. Cara termudah adalah dengan menginstall enkripsi pada harddisk itu sendiri( salah satu file yang anda backup).Cara lain adalah mengenkripsi file Anda sebelum mengirimnya ke server jauh( atau hard drive lain, apa pun yang Anda inginkan untuk dicadangkan).Kami akan membahas metode ini di artikel selanjutnya.

Apapun pilihan dan fitur yang Anda pilih, rsync terbukti menjadi salah satu alat cadangan paling efisien dan serbaguna sampai saat ini, dan bahkan skrip rsync yang sederhana dapat menyelamatkan Anda dari kehilangan data Anda.