GNU/Linux >> Belajar Linux >  >> Linux

Lsyncd – Sinkronisasi Direktori Lokal dengan Remote Linux

Lsinkron (Daemon Cermin Sinkronisasi Langsung ) adalah solusi Linux ringan untuk menyinkronkan direktori jarak jauh dan lokal. Penggunaan solusi Linux ini sama sekali tidak memengaruhi kinerja sistem file lokal Anda.

[ Anda mungkin juga menyukai:Cara Menyinkronkan Dua Server Web di Linux Secara Otomatis ]

Setelah Anda sepenuhnya menginstal dan mengonfigurasi Lsyncd , direktori lokal dan jarak jauh Anda akan disinkronkan sehingga setiap modifikasi data pada direktori lokal dicatat dan diperbarui pada direktori server jauh. Pembaruan direktori yang sering dilakukan dan tindakan sinkronisasi memastikan bahwa direktori lokal dan jauh yang ditargetkan tetap sama.

Instal Lsyncd di Server Linux

Lsinkron . ini solusi sinkronisasi didukung di berbagai platform sistem operasi Linux. Tergantung pada distribusi Linux yang Anda gunakan, Anda dapat menginstal Lsyncd dari salah satu perintah berikut:

Instal Lsyncd di Distribusi berbasis RHEL

$ sudo yum install epel-release
$ sudo yum install lsyncd

Instal Lsyncd di Fedora Linux

$ sudo dnf install lsyncd 

Instal Lsyncd di Debian, Ubuntu &Mint

$ sudo apt install lsyncd

Instal Lsyncd di OpenSUSE

$ sudo zypper install lsyncd

Instal Lsyncd di Arch Linux

$ sudo pacman -S git base-devel
$ git clone https://aur.archlinux.org/lsyncd.git
$ cd lsyncd
$ makepkg -sri

Menggunakan Lsyncd untuk Menyinkronkan Direktori Lokal dan Jarak Jauh di Linux

Anda harus berada di mesin lokal dan memiliki akses terautentikasi ke mesin atau server jarak jauh agar sinkronisasi direktori dua arah berhasil. Di pihak saya, server jarak jauh yang saya gunakan memiliki alamat IP 18.118.208.XX .

Di mesin lokal, kita perlu mengatur login ssh tanpa kata sandi ke mesin/server jarak jauh yang disebutkan.

Login ssh tanpa kata sandi memungkinkan otomatisasi sinkronisasi direktori lokal-ke-jauh Lsyncd menjadi mulus.

Mengatur Login Tanpa Kata Sandi SSH ke Linux Jarak Jauh

1. Buat kunci SSH pada mesin lokal untuk akses tanpa kata sandi ke server jauh.

$ sudo ssh-keygen -t rsa  

Saat diminta memasukkan frasa sandi, biarkan bidang kosong dengan menekan [Enter ] di keyboard Anda.

2. Salin kunci publik SSH yang dihasilkan ke mesin jarak jauh Anda. Sekarang kita perlu mentransfer salinan kunci publik SSH yang dihasilkan ke server/mesin jarak jauh yang disebutkan.

$ sudo ssh-copy-id [email protected]

Dengan pencapaian ini, akses apa pun di masa mendatang ke server jarak jauh ini (18.118.208.79 ) melalui perintah SSH (ssh [email protected] ) harus tanpa kata sandi.

$ ssh [email protected]

Anda mungkin juga ingin memastikan /etc/ssh/sshd_config mesin jarak jauh Anda file memiliki PubKeyAuthentication setel ke yes dan PermitRootLogin disetel ke tanpa kata sandi.

Mulai ulang layanan sshd pada mesin jarak jauh.

$ sudo systemctl restart ssh.service

Jika PubKeyAuthentication dan PermitRootLogin kolom tidak diaktifkan di server Anda dan Anda berhasil mengaktifkannya, mulai dari langkah 1 untuk membuat ulang kunci SSH publik, lalu menyalinnya kembali (langkah 2) ke server jauh.

Sinkronisasi Direktori Lokal dengan Jarak Jauh Menggunakan Lsyncd

Buat direktori jarak jauh/tujuan yang diperlukan pada mesin jarak jauh Anda

$ mkdir linuxshelltips_remotesync

Buat direktori sumber yang diperlukan di mesin lokal Anda.

$ mkdir linuxshelltips_localsync

Isi direktori sumber ini dengan beberapa file:

$ sudo touch linuxshelltips_localsync/file{1..16}

Buat Lsyncd File log dan status.

$ sudo mkdir /var/log/lsyncd
$ sudo touch /var/log/lsyncd/lsyncd.{log,status}

Buat lsyncd yang terkait direktori konfigurasi.

$ sudo mkdir /etc/lsyncd 

Di bawah direktori ini, buat lsyncd.conf.lua file konfigurasi.

$ sudo nano /etc/lsyncd/lsyncd.conf.lua

Isi dengan data yang mirip dengan tangkapan layar berikut

----
-- User configuration file for lsyncd.
----
settings {
        logfile = "/var/log/lsyncd/lsyncd.log",
        statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync  {
        default.rsyncssh,
        source = "/home/dnyce/linuxshelltips_localsync",
        host = "[email protected]",
        targetdir = "/home/ubuntu/linuxshelltips_remotesync"
}

Pada file ini, sumbernya adalah jalur ke file yang ingin kita sinkronkan di mesin lokal, host menunjuk ke nama pengguna+alamat IP server jarak jauh, dan targetdir adalah direktori tujuan pada server jauh.

Selanjutnya, mulai dan aktifkan Lsyncd .

$ sudo systemctl restart lsyncd 
$ sudo systemctl enable lsyncd

Akses server jauh untuk mengonfirmasi keberadaan file direktori yang disinkronkan. Lihat apakah ada sinkronisasi file yang terjadi.

$ sudo ssh [email protected]

Seperti yang Anda lihat, perintah ls sebelum memulai lsyncd pada mesin lokal menampilkan nol file dan perintah setelah menjalankannya menampilkan file yang disalin dari mesin lokal.

Anda hanya perlu menginstal Lsyncd pada mesin Host/sumber dengan file direktori yang perlu Anda sinkronkan. Ini mudah diterapkan dan memberi Anda solusi sinkronisasi file yang berfungsi untuk mesin lokal-ke-jauh dan juga direktori lokal-ke-lokal.


Linux
  1. Kelola direktori home pengguna Linux dengan systemd-homed

  2. Perintah SCP di Linux:Cara Menggunakannya, dengan Contoh

  3. Cara Menyinkronkan Direktori Lokal Dan Jarak Jauh Di Linux

  1. Mengonfigurasi penyimpanan lokal di Linux dengan Stratis

  2. scp dari Linux jarak jauh ke Windows lokal dengan spasi di jalur lokal

  3. Bagaimana membandingkan perbedaan antara direktori (linux)

  1. Ssh – Salin File Kembali Ke Sistem Lokal Dengan Ssh?

  2. Linux – Suid Tidak Berpengaruh Pada Direktori Dengan Linux?

  3. Howto:Pemrograman C dengan Direktori di Linux