LINUX

Come sincronizzare le directory usando Lsyncd in Linux

Usa Lsync Linux

In questo articolo, spiegherò come installare Lsyncd (Live Syncing Mirror Daemon) su sistemi Linux e come sincronizzare directory locali e remote in Linux. lsyncd è una soluzione live mirror leggera che è relativamente facile da installare senza influire sulle prestazioni del file system locale esistente.

È molto utile tenere traccia di eventuali modifiche ai dati e sincronizzare i dati tra le directory che vengono aggiornate di frequente con nuovi contenuti. Di default è solo rsync.

Tutti i file di configurazione personalizzati sono scritti in linguaggio Lua, quindi è possibile ottenere una configurazione potente, flessibile e semplice. Lsyncd 2.2.1 richiede rsync 3.1 su tutte le macchine di origine e di destinazione.

Installa Lsyncd su RHEL/CentOS 7

Per abilitare lsyncd su un sistema CentOS 7.5, dovremo abilitare il repository EPEL. Puoi semplicemente eseguire questo comando per installarlo.

#yum install epel-release
#yum install lsyncd

Puoi confermare la versione installata eseguendo questo comando:

# lsyncd -version
Version: 2.2.2

Configura Lsyncd

Il file di configurazione di Lsyncd viene creato automaticamente in /etc/lsyncd.conf su un sistema RHEL/CentOS 7.5. Per impostazione predefinita, il suo contenuto è simile al seguente:

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/

Dobbiamo modificare questo file di configurazione in base al nostro scopo. Come accennato in questo file di configurazione, tutti gli script di esempio sono disponibili nella seguente posizione: /usr/share/doc/lsyncd-2.2.2/examples/

# cd /usr/share/doc/lsyncd-2.2.2/examples/
[root@li1050-94 examples]# ll
total 40
-rw-r--r--. 1 root root 715 Feb 16 2017 lalarm.lua
-rw-r--r--. 1 root root 1055 Feb 16 2017 lbash.lua
-rw-r--r--. 1 root root 534 Feb 16 2017 lecho.lua
-rw-r--r--. 1 root root 3376 Feb 16 2017 lftp.lua
-rw-r--r--. 1 root root 2278 Feb 16 2017 lgforce.lua
-rw-r--r--. 1 root root 2737 Feb 16 2017 limagemagic.lua
-rw-r--r--. 1 root root 2770 Feb 16 2017 lpostcmd.lua
-rw-r--r--. 1 root root 211 Feb 16 2017 lrsync.lua
-rw-r--r--. 1 root root 204 Feb 16 2017 lrsyncssh.lua
-rw-r--r--. 1 root root 4047 Feb 16 2017 lsayirc.lua

Tutti questi file sono file di configurazione lsyncd di esempio. Tra questi file, spieghiamo di più sull’utilizzo di questi file, vale a dire lrsync.lua e lrsyncssh.lua qui. Vediamo di seguito i file di configurazione di esempio:

Esempio di configurazione per la sincronizzazione locale:

# cat /usr/share/doc/lsyncd-2.2.2/examples/lrsync.lua
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings {
statusFile = "/tmp/lsyncd.stat",
statusInterval = 1,
}

sync{
default.rsync,
source="src",
target="trg",
}

Esempio di configurazione per la sincronizzazione remota:

# cat /usr/share/doc/lsyncd-2.2.2/examples/lrsyncssh.lua
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
sync{default.rsyncssh, source="src", host="localhost", targetdir="dst/"}

Per mantenere questo processo sincronizzato invece di eseguire un cron job ogni X minuti, lsyncd utilizza gli hook del kernel linux per ricevere notifiche quando qualsiasi file in una directory è cambiato. Per impostazione predefinita, mette in coda tutti i comandi di sincronizzazione in 20 secondi. possiamo anche modificare questo lasso di tempo secondo necessità con --delay opzione insieme al comando di sincronizzazione.

sync {
default.rsyncssh,
source = "SRC",
target = "DEST",
delete = "running", -- prevents deletion of files on startup (ie when a server comes back online, don't delete files that are new on the backup)
delay = 5, -- run every 5 seconds instead of default 20
}

Durante l’uso default.rsyncssh comando di sincronizzazione che è sempre consigliabile utilizzare --delete opzione per evitare file mancanti dalle cartelle di destinazione. Dopo aver creato o modificato il file di configurazione lsyncd, è necessario riavviare il processo lsyncd.

Perché Lsyncd utilizza lo strumento rsync per copiare, spostare ed eliminare i file dall’origine alla destinazione. Possiamo utilizzare gli switch rsync per impedire la creazione di duplicati non necessari nella destinazione e semplificare questo processo. Alcune delle opzioni di sincronizzazione importanti sono spiegate di seguito:

--delete: Questa opzione assicura che tutti i file nella directory remota che non si trovano nella directory di origine vengano eliminati.
--times: Questa opzione è molto importante se hai intenzione di eseguire questo script più e più volte poiché manterrà sincronizzati i tempi tra i due file.
--force: Questa opzione consente di eliminare una directory non vuota per sostituirla con una directory vuota.
--links: Questa opzione viene utilizzata per copiare collegamenti simbolici come collegamenti simbolici.
--progress2: Risulta nel mostrare l’avanzamento complessivo dell’intero trasferimento, non solo il singolo file che viene copiato.
--dry-run: Questa opzione esegue un test senza eseguire effettivamente alcuna eliminazione o trasferimento, ma ti dice cosa farà. Consiglio vivamente di utilizzare questa opzione la prima volta che esegui un comando rsync dopo averlo scritto.
--owner: garantisce che l’utente proprietario del file sia preservato (non il livello di autorizzazione per il proprietario).
--group: garantisce che l’utente del gruppo del file sia preservato (non il livello di autorizzazione del gruppo).
--perms: mantenere i permessi.
--sparse: garantisce un trasferimento efficiente di file immagine sparsi.

Sincronizza le directory locali

Ora vediamo come sincronizzare due cartelle locali usando lsyncd. Possiamo creare una cartella di origine vale a dire SRC_DIR e una cartella di destinazione vale a dire DEST_DIR per spiegare questo processo in modo più vivido. Creiamo le cartelle e aggiungiamo alcuni file alla directory di origine da sincronizzare.

# mkdir SRC_DIR *// Create source directory //*
# mkdir DEST_DIR *// Create target directory //*
# cd SRC_DIR/ *// Move to the source folder and create some random files //*
# touch file{1..10}
~/SRC_DIR# ll *// List out the Source folder contents //*
total 8
drwxr-xr-x 2 root root 4096 Aug 2 07:45 ./
drwx------ 7 root root 4096 Aug 2 07:46 ../
-rw-r--r-- 1 root root 0 Aug 2 07:45 file1
-rw-r--r-- 1 root root 0 Aug 2 07:45 file10
-rw-r--r-- 1 root root 0 Aug 2 07:45 file2
-rw-r--r-- 1 root root 0 Aug 2 07:45 file3
-rw-r--r-- 1 root root 0 Aug 2 07:45 file4
-rw-r--r-- 1 root root 0 Aug 2 07:45 file5
-rw-r--r-- 1 root root 0 Aug 2 07:45 file6
-rw-r--r-- 1 root root 0 Aug 2 07:45 file7
-rw-r--r-- 1 root root 0 Aug 2 07:45 file8
-rw-r--r-- 1 root root 0 Aug 2 07:45 file9

È quindi possibile creare file di registro lsyncd e file di stato per tenere traccia del processo. Questi passaggi sono facoltativi. Ma consiglierei di mantenere i file di registro per tutte le nostre attività.

# mkdir /var/log/lsyncd
# touch /var/log/lsyncd/lsyncd.{log,status}

Ora dobbiamo modificare il file di configurazione lsyncd per eseguire questo rsync locale. Come discusso in precedenza, il file di configurazione lsyncd predefinito per un sistema CentOS è/etc/lsyncd.conf. Dobbiamo aggiornare questi file di configurazione con le nostre directory di origine e di destinazione e i nostri file di registro.

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
-- For more examples, see /usr/share/doc/lsyncd*/examples/
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync {
default.rsync,
source = "/root/SRC_DIR",
target = "/root/DEST_DIR",
}

È possibile sostituire il percorso delle directory di origine e di destinazione con i propri valori. Salva e chiudi il file di configurazione. Al termine, riavviare e abilitare il servizio lsyncd.

# systemctl enable lsyncd
lsyncd.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable lsyncd
# systemctl start lsyncd

Ora confronta il contenuto delle directory di origine e di destinazione per confermare il suo funzionamento.

SRC_DIR]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 2 13:51 file1
-rw-r--r--. 1 root root 0 Aug 2 13:51 file10
-rw-r--r--. 1 root root 0 Aug 2 13:51 file2
-rw-r--r--. 1 root root 0 Aug 2 13:51 file3
-rw-r--r--. 1 root root 0 Aug 2 13:51 file4
-rw-r--r--. 1 root root 0 Aug 2 13:51 file5
-rw-r--r--. 1 root root 0 Aug 2 13:51 file6
-rw-r--r--. 1 root root 0 Aug 2 13:51 file7
-rw-r--r--. 1 root root 0 Aug 2 13:51 file8
-rw-r--r--. 1 root root 0 Aug 2 13:51 file9

DEST_DIR]# ll
total 0
-rw-r--r--. 1 root root 0 Aug 2 13:51 file1
-rw-r--r--. 1 root root 0 Aug 2 13:51 file10
-rw-r--r--. 1 root root 0 Aug 2 13:51 file2
-rw-r--r--. 1 root root 0 Aug 2 13:51 file3
-rw-r--r--. 1 root root 0 Aug 2 13:51 file4
-rw-r--r--. 1 root root 0 Aug 2 13:51 file5
-rw-r--r--. 1 root root 0 Aug 2 13:51 file6
-rw-r--r--. 1 root root 0 Aug 2 13:51 file7
-rw-r--r--. 1 root root 0 Aug 2 13:51 file8
-rw-r--r--. 1 root root 0 Aug 2 13:51 file9

Odio! Il contenuto della directory di origine SRC_DIR è stato sincronizzato correttamente con la directory di destinazione.

Inoltre, è possibile esaminare i file di registro e di stato per verificare lo stato della replica e confermare se è stata completata o meno.

# tail -10 /var/log/lsyncd/lsyncd.log
Thu Aug 2 14:03:16 2018 Normal: --- Startup ---
Thu Aug 2 14:03:16 2018 Normal: recursive startup rsync: /root/SRC_DIR/ -> /root/DEST_DIR/
Thu Aug 2 14:03:16 2018 Normal: Startup of /root/SRC_DIR/ -> /root/DEST_DIR/ finished.

# more /var/log/lsyncd/lsyncd.status
Lsyncd status report at Thu Aug 2 14:03:27 2018

Sync1 source=/root/SRC_DIR/
There are 0 delays
Excluding:
nothing.

Inotify watching 1 directories
1: /root/SRC_DIR/

Sincronizza più cartelle locali

Per sincronizzare più cartelle con una o più directory di destinazione, dovremo aggiornare il file di configurazione con più istruzioni di comando di sincronizzazione con le nostre directory di origine e di destinazione richieste.

sync{ default.rsync, source="source1", target="target1" }
sync{ default.rsync, source=" "source2', target="target2" }

Ad esempio, vedi il mio file di configurazione Lsyncd /etc/lsyncd.conf per sincronizzare due delle mie cartelle, vale a dire /root/SRC e /etc/nginx con una directory di destinazione situata in /backup di seguito:

----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync{ default.rsync, source="/root/SRC", target="/backup/SRC" }
sync{ default.rsync, source="/etc/nginx", target="/backup/Nginx_bkup" }

Dopo aver aggiornato il file di configurazione con le modifiche necessarie, è possibile riavviare il processo lsyncd per avviare il processo rsync. Una volta fatto, puoi controllare i file di registro per confermare il loro stato.

# tail /var/log/lsyncd/lsyncd.log
Mon Aug 6 08:36:16 2018 Normal: recursive startup rsync: /root/SRC/ -> /backup/SRC/
Mon Aug 6 08:36:16 2018 Normal: recursive startup rsync: /etc/nginx/ -> /backup/Nginx_bkup/
Mon Aug 6 08:36:16 2018 Normal: Startup of "/root/SRC/" finished.
Mon Aug 6 08:36:16 2018 Normal: Startup of "/etc/nginx/" finished.

Analogamente, è possibile utilizzare più volte queste istruzioni del comando di sincronizzazione “default-rsync” quando si desidera sincronizzare le stesse directory di origine con più destinazioni o più directory di origine nella stessa directory di destinazione.

Sincronizza con le directory remote

Per avviare la sincronizzazione della directory remota, dovremo configurare l’autenticazione SSH senza password. Ciò aiuterà Lsyncd a replicare automaticamente il contenuto della directory locale in una directory remota senza l’intervento dell’utente. Dal momento che stiamo sincronizzando su due server. possiamo prendere un server di origine e un server di destinazione per spiegare questo processo in modo più chiaro. Si prega di consultare gli IP del server SRC e DEST di seguito:

SRC_ SERVER IP : 45.33.113.94
DEST_SERVER IP: 45.33.121.82

Passaggio 1) Creazione di chiavi SSH sul server di origine per l’autenticazione senza password

Dobbiamo creare una chiave SSH per il server di origine e copiare la chiave pubblica sul server di destinazione per migliorare la connessione SSH tra i server durante la sincronizzazione degli account. Puoi generare chiavi RSA usando il comando seguente:

#ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:T+p4P/5WTw/JA7B/B+uonDNF6KvqDpSl2frl4i3Ma8Q root@li1050-94
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| . + |
| * o o . |
| =.. S..o o + |
| . .E +. o O o|
| o+ o .o = *.|
| o**..=.o . o|
| =O*=+*B. |
+----[SHA256]-----+

Passaggio 2) Copiare le chiavi pubbliche sul server di destinazione

Ora copia le chiavi pubbliche sul server di destinazione per abilitare l’autenticazione senza password.

# ssh-copy-id root@45.33.121.82
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '45.33.121.82 (45.33.121.82)' can't be established.
ECDSA key fingerprint is SHA256:qI+CBEAw9MX+XfXQ1P0NmXVg0tBkWnmjeE0p1wWHzpM.
ECDSA key fingerprint is MD5:62:d9:cc:a5:8b:7a:ef:fd:5e:b8:be:a2:75:3a:0c:20.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@45.33.121.82's password:

Number of key(s) added: 1

Qui, 45.33.121.82 è l’IP del server di destinazione. Ora saremo in grado di connetterci al nostro server di destinazione remoto dalla sorgente senza alcuna password.

# ssh root@45.33.121.82

Passaggio 3) Creazione di una directory di destinazione per la sincronizzazione remota

Creiamo una directory di destinazione vale a dire Remote_Dir sul server di destinazione. Al termine, puoi disconnetterti dal server di destinazione.

#mkdir Remote_Dir

Passaggio 4) Modificare il file di configurazione di Lsyncd per abilitare la sincronizzazione remota

È possibile eseguire il backup del file di configurazione lsyncd corrente in /etc/lsyncd.conf e copia il file di configurazione lsyncd di esempio per la sincronizzazione remota che si trova in /usr/share/doc/lsyncd-2.2.2/examples/lrsyncssh.lua al file di configurazione principale di lsyncd /etc/lsyncd.conf. Una volta terminato, puoi modificare la directory di origine, la directory host e la directory di destinazione di conseguenza nel file di configurazione. Si prega di consultare il mio file di configurazione lsyncd per la sincronizzazione remota secondo la mia configurazione di seguito:

Copia la configurazione di esempio per preservarne la sintassi corretta.

# cp /usr/share/doc/lsyncd-2.2.2/examples/lrsyncssh.lua /etc/lsyncd.conf

Modifica il file di configurazione di conseguenza.

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync{default.rsyncssh, source="/root/SRC_DIR", host="45.33.121.82", targetdir="/root/Remote_Dir"}

Passaggio 5) Riavviare il servizio lsyncd sull’origine

Una volta che il file di configurazione è stato modificato e salvato correttamente, è possibile riavviare il servizio lsyncd per rendere effettive queste modifiche. Ora connettiti al server remoto (DEST_SERVER) e conferma il contenuto della directory Rsync remota, vale a dire /root/Remote_Dir.

#ssh root@45.33.121.82
#cd /root/Remote_Dir
# ll
total 8
drwxr-xr-x 2 root root 4096 Aug 2 14:08 ./
drwx------ 9 root root 4096 Aug 5 06:52 ../
-rw-r--r-- 1 root root 0 Aug 2 13:51 file1
-rw-r--r-- 1 root root 0 Aug 2 13:51 file10
-rw-r--r-- 1 root root 0 Aug 2 13:51 file2
-rw-r--r-- 1 root root 0 Aug 2 13:51 file3
-rw-r--r-- 1 root root 0 Aug 2 13:51 file4
-rw-r--r-- 1 root root 0 Aug 2 13:51 file5
-rw-r--r-- 1 root root 0 Aug 2 13:51 file6
-rw-r--r-- 1 root root 0 Aug 2 13:51 file7
-rw-r--r-- 1 root root 0 Aug 2 13:51 file8
-rw-r--r-- 1 root root 0 Aug 2 13:51 file9

Ciao! puoi vedere tutti i file dalla directory di origine sul sistema locale da replicare nella directory di destinazione sul server di destinazione. Puoi persino verificare il corretto completamento del processo di sincronizzazione visualizzando i file di registro lsyncd sull’origine.

# tail /var/log/lsyncd/lsyncd.log
Dom Ago 5 07:04:42 2018 Normale: — Avvio —
Sun Aug 5 07:04:42 2018 Normale: avvio rsync in modo ricorsivo: /root/SRC_DIR/ -> 45.33.121.82:/root/Remote_Dir/
Sun Aug 5 07:04:43 2018 Normale: Terminato l’avvio di ‘/root/SRC_DIR/’: 0
Sun Aug 5 07:13:48 2018 Normale: elenco di sincronizzazione
/
Dom Aug 5 07:13:49 2018 Normale: Fatto (elenco): 0

Sincronizza su più server remoti

In precedenza, abbiamo descritto come sincronizzare una cartella su un server remoto. Analogamente, è possibile utilizzare più volte le istruzioni del comando default.rsyncssh per sincronizzare le cartelle di origine richieste su più cartelle di destinazione remote. Ma dobbiamo assicurarci di abilitare l’autenticazione SSH senza password per replicare il contenuto delle directory locali su più directory remote senza l’intervento dell’utente.

sync{default.rsyncssh, source="source1", host="host1", targetdir="target1"}
sync{default.rsyncssh, source="source2", host="host2", targetdir="target2}

Spiegherò questo processo con un semplice esempio di trasferimento di /etc/nginx cartella dal mio server SRC ai server remoti DEST 1 e DEST 2.

Il primo passo in questo processo sarà generare una chiave RSA sul mio server di origine e copiare le sue chiavi pubbliche sui miei server remoti DEST 1 e DEST 2 come spiegato sopra. Dobbiamo ripetere la stessa procedura dal passaggio 1 al passaggio 3 per i due server remoti DEST 1 e DEST 2 per garantire l’autenticazione SSH senza password.

In secondo luogo, dobbiamo modificare il file di configurazione lsyncd con multipli default.rsyncssh istruzioni di comando con le cartelle di origine, host e destinazione richieste. Si prega di vedere sotto il mio file di configurazione lsyncd per questo processo di sincronizzazione:

# cat /etc/lsyncd.conf
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync, but executing moves through on the target.
--
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status"
}
sync{default.rsyncssh, source="/etc/nginx", host="45.33.121.82", targetdir="/backup/nginx"}
sync{default.rsyncssh, source="/etc/nginx", host="45.33.113.94", targetdir="/backup/nginx"}

Dopo aver apportato queste modifiche alla configurazione, è possibile riavviare il servizio lsyncd per avviare questo processo di sincronizzazione. Una volta fatto, puoi controllare i file di registro per confermare il loro stato.

# tail /var/log/lsyncd/lsyncd.log
Mon Aug 6 09:15:55 2018 Normal: recursive startup rsync: /etc/nginx/ -> 45.33.121.182:/backup/nginx/
Mon Aug 6 09:15:55 2018 Normal: recursive startup rsync: /etc/nginx/ -> 45.33.113.194:/backup/nginx/
Mon Aug 6 09:15:56 2018 Normal: Startup of "/etc/nginx/" finished: 0
Mon Aug 6 09:15:56 2018 Normal: Startup of "/etc/nginx/" finished: 0

Installa Lsyncd su Debian/Ubuntu 18.04

Su Debian e le sue derivate come Ubuntu, Linux Mint, ecc., puoi installare lsyncd usando il semplice comando apt come segue:

#apt install lsyncd

Puoi confermare la versione di lsyncd installata usando questo comando:

# lsyncd -version
Version: 2.1.6

Configurazione su Debian/Ubuntu

Sui sistemi basati su Ubuntu, non fornirà alcun file di configurazione lsyncd per impostazione predefinita. Si consiglia di creare manualmente quei file di configurazione secondo il nostro scopo. Possiamo ottenere file di configurazione di esempio nella posizione./usr/share/doc/lsyncd/examples/ Questi file di configurazione di esempio ci danno un’idea di base di cosa/come funziona la sincronizzazione.

:/usr/share/doc/lsyncd/examples# ll
total 48
drwxr-xr-x 2 root root 4096 Aug 2 07:34 ./
drwxr-xr-x 3 root root 4096 Aug 2 07:34 ../
-rw-r--r-- 1 root root 715 Oct 15 2015 lalarm.lua
-rw-r--r-- 1 root root 1057 Oct 15 2015 lbash.lua
-rw-r--r-- 1 root root 534 Oct 15 2015 lecho.lua
-rw-r--r-- 1 root root 3376 Oct 15 2015 lftp.lua
-rw-r--r-- 1 root root 2278 Oct 15 2015 lgforce.lua
-rw-r--r-- 1 root root 2737 Oct 15 2015 limagemagic.lua
-rw-r--r-- 1 root root 2770 Oct 15 2015 lpostcmd.lua
-rw-r--r-- 1 root root 213 Oct 15 2015 lrsync.lua
-rw-r--r-- 1 root root 204 Oct 15 2015 lrsyncssh.lua
-rw-r--r-- 1 root root 4047 Oct 15 2015 lsayirc.lua

Tutti questi file di configurazione sono scritti nel linguaggio di programmazione Lua. Consulta l’esempio di configurazione di lsyncd per un semplice rsync locale di seguito:

:/usr/share/doc/lsyncd/examples# cat lrsync.lua
----
-- User configuration file for lsyncd.
--
-- Simple example for default rsync.
--
settings = {
statusFile = "/tmp/lsyncd.stat",
statusInterval = 1,
}

sync{
default.rsync,
source="src",
target="trg",
}

Questa procedura è esattamente la stessa rispetto ai sistemi CentOS descritti sopra. Innanzitutto, dovremo configurare l’autenticazione SSH senza password che genera chiavi RSA sul server di origine. Ciò garantirà che Lsyncd replicherà automaticamente il contenuto in una directory remota senza l’intervento dell’utente. I punti chiave da ricordare durante la sincronizzazione remota rispetto alla sincronizzazione locale è che dovremo modificare default.rsync in default.rsyncssh per abilitare rsync su ssh e dovremmo sostituire la variabile “target” con le variabili “host” e “target”. Inoltre, dovremo mantenere la posizione del file di configurazione come /etc/lsyncd/lsyncd.conf.lua su sistemi Ubuntu/Debian. Il resto delle procedure di configurazione di lsyncd sono le stesse su tutti i sistemi Linux.

Leggi anche:

Spero che troverai questo articolo utile e informativo! Si prega di pubblicare i vostri preziosi commenti e suggerimenti al riguardo.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close