Cara Menyinkronkan Dua Server Web Apache/Situs Web Menggunakan Rsync

Cara Menyinkronkan Dua Server Web Apache/Situs Web Menggunakan Rsync

Ada begitu banyak tutorial yang tersedia di web untuk dicerminkan atau mengambil cadangan file web Anda dengan metode yang berbeda, di sini saya membuat artikel ini untuk referensi saya di masa depan dan di sini saya akan menggunakan perintah yang sangat sederhana dan serbaguna dari Linux Untuk membuat cadangan situs web Anda. Tutorial ini akan membantu Anda menyinkronkan data antara dua server web Anda dengan “Rsync“.

Sinkronkan dua server web Apache

Tujuan membuat cermin Anda Server web dengan Rsync adalah jika server web utama Anda gagal, server cadangan Anda dapat mengambil alih untuk mengurangi waktu henti dari situs web Anda. Cara ini membuat cadangan server web sangat bagus dan efektif untuk bisnis web ukuran kecil dan menengah.

Keuntungan Sinkronisasi Server Web

Keuntungan utama membuat cadangan server web dengan RSYNC adalah sebagai berikut:

  1. RSYNC hanya menyinkronkan byte dan blok data yang telah berubah.
  2. RSYNC memiliki kemampuan untuk memeriksa dan menghapus file dan direktori tersebut di server cadangan yang telah dihapus dari server web utama.
  3. Ini menangani izin, kepemilikan, dan atribut khusus sambil menyalin data dari jarak jauh.
  4. Ini juga mendukung protokol SSH untuk mentransfer data dengan cara yang dienkripsi sehingga Anda akan yakin bahwa semua data aman.
  5. Rsync menggunakan metode kompresi dan dekompresi saat mentransfer data yang mengkonsumsi lebih sedikit bandwidth.

Cara menyinkronkan dua server web apache

Mari kita lanjutkan dengan menyiapkan RSYNC untuk membuat cermin server web Anda. Di sini, saya akan menggunakan dua server.

Server utama
  1. Alamat IP: 192.168.0.100
  2. Nama host: server web.contoh.com
Server cadangan
  1. Alamat IP: 192.168.0.101
  2. Nama host: cadangan.contoh.com

Langkah 1: Instal alat RSYNC

Di sini dalam hal ini data server web server web.contoh.com akan dicerminkan cadangan.contoh.com. Dan untuk melakukannya terlebih dahulu, kita perlu menginstal Rsync di kedua server dengan bantuan perintah berikut.

[[email dilindungi]]# yum instal rsync [on topi merah Sistem Berbasis] [[email dilindungi]]# apt-get install rsync [on Debian sistem berbasis]

Langkah 2: Buat pengguna untuk menjalankan rsync

Kami dapat mengatur rsync dengan akar Pengguna, tetapi untuk alasan keamanan, Anda dapat membuat pengguna yang tidak beruntung di server web utama i.e server web.contoh.com untuk menjalankan rsync.

[[email dilindungi]]# useradd tecmint [[email dilindungi]]# passwd tecmint

Di sini saya telah membuat pengguna "tecmint”Dan menetapkan kata sandi untuk pengguna.

Langkah 3: Uji Pengaturan RSYNC

Saatnya menguji pengaturan RSYNC Anda di server cadangan Anda (i.e. cadangan.contoh.com) dan untuk melakukannya, silakan ketik perintah berikut.

[[Email Dilindungi] www]# rsync -avzhe ssh [email dilindungi]:/var/www//var/www
Output sampel
Kata Sandi [Email Dilindungi]: Menerima Daftar File Terkisap Dikirim 128 byte yang diterima 32.67k byte 5.96k bytes/detik ukuran total adalah 12.78m Speedup adalah 389.70

Anda dapat melihat bahwa RSYNC Anda sekarang berfungsi dengan baik dan menyinkronkan data. Saya telah menggunakan "/var/www" untuk mengirim; Anda dapat mengubah lokasi folder sesuai dengan kebutuhan Anda.

Langkah 4: Otomatis Sinkronisasi dengan SSH Login Tanpa Kata Sandi

Sekarang, kami selesai dengan pengaturan RSYNC dan sekarang waktunya untuk mengatur a cron untuk rsync. Karena kita akan menggunakan rsync dengan Ssh Protokol, SSH akan meminta otentikasi dan jika kami tidak akan memberikan kata sandi untuk cron, itu tidak akan berhasil. Untuk bekerja cron dengan lancar, kita perlu menyiapkan Login SSH tanpa kata sandi untuk rsync.

Di sini dalam contoh ini, saya melakukannya sebagai akar untuk melestarikan kepemilikan file Anda juga dapat melakukannya untuk pengguna alternatif juga.

Pertama, kami akan menghasilkan a publik Dan pribadi kunci dengan perintah berikut di server cadangan (i.e. cadangan.contoh.com).

[[Email Dilindungi]]# SSH -Keygen -T RSA -B 2048

Saat Anda memasukkan perintah ini, tolong jangan berikan frasa sandi dan klik enter untuk Passphrase kosong Jadi cron rsync tidak memerlukan kata sandi apa pun untuk menyinkronkan data.

Output sampel
Menghasilkan pasangan kunci RSA publik/pribadi. Masukkan file untuk menyimpan kunci (/root/.SSH/ID_RSA): Masukkan sandi (kosong tanpa frasa sandi): Masukkan frasa sandi yang sama lagi: identifikasi Anda telah disimpan di/root/.ssh/id_rsa. Kunci publik Anda telah disimpan di /root /.ssh/id_rsa.pub. Sidik jari kunci adalah: 9A: 33: A9: 5D: F4: E1: 41: 26: 57: D0: 9A: 68: 5B: 37: 9C: 23 [Email Dilindungi] Gambar acak kunci adalah: +-[ RSA 2048] ----+ | .Hai. | |… | |… ++ . | | O = E * | | .Sooo o | | =.o o | | * . o | | o + | |… | +-----------------+

Sekarang, kami Publik Dan Pribadi Kunci telah dihasilkan dan kami harus membagikannya dengan server utama sehingga server web utama akan mengenali mesin cadangan ini dan akan memungkinkannya untuk masuk tanpa meminta kata sandi saat menyinkronkan data.

[[Email Dilindungi] html]# ssh-copy-id -i /root /.ssh/id_rsa.pub [email dilindungi]

Sekarang coba masuk ke mesin, dengan “ssh '[email dilindungi]'", Dan check -in .ssh/otorisasi_keys.

[[Email Dilindungi] html]# [Email Dilindungi]

Sekarang, kami selesai berbagi kunci. Untuk mengetahui lebih banyak mendalam tentang Kata sandi ssh kurang login, Anda dapat membaca artikel kami tentang itu.

  1. Login tanpa kata sandi SSH dalam 5 Langkah Mudah

Langkah 5: Jadwalkan cron untuk mengotomatiskan sinkronisasi

Mari Siapkan Cron Untuk Ini. Untuk mengatur cron, silakan buka file crontab dengan perintah berikut.

[[email dilindungi] ~]# crontab -e

Ini akan membuka /etc /crontab file untuk diedit dengan editor default Anda. Di sini dalam contoh ini, saya menulis cron untuk menjalankannya setiap 5 menit untuk menyinkronkan data.

*/5 * * * * rsync -avzhe ssh [email dilindungi]:/var/www//var/www/

Perintah cron dan rsync di atas hanya menyinkronkan "/var/www/“Dari yang utama server web ke a server cadangan di setiap 5 menit. Anda dapat mengubah konfigurasi waktu dan lokasi folder sesuai dengan kebutuhan Anda. Untuk menjadi lebih kreatif dan disesuaikan dengan Rsync Dan Cron Perintah, Anda dapat memeriksa artikel kami yang lebih rinci di:

  1. 10 perintah rsync untuk menyinkronkan file/folder di linux
  2. 11 contoh penjadwalan cron di Linux