GNU/Linux >> Linux Esercitazione >  >> Linux

Come sincronizzare automaticamente i file tra due server Linux

La configurazione di un server di backup per assumere le operazioni di un server primario quando diventa vittima di problemi di inattività del server è un insieme di competenze che la maggior parte degli utenti Linux e tutti gli amministratori Linux devono padroneggiare. Ti evita di doverti preoccupare del "e se ” scenari.

Pertanto, durante uno scenario peggiore in cui alcuni tecnicismi o tentativi di violazione del server potrebbero temporaneamente o permanentemente bloccare il server primario, puoi sempre fare affidamento sulla presenza di un server di backup configurato per funzionare come un ambiente server gemello del server primario/principale server.

[ Potrebbe piacerti anche:Come sincronizzare automaticamente due server Web in Linux ]

Il server di backup ti assicura di non perdere le configurazioni dei dati di sistema importanti e i file utente.

Installazione Rsync in Linux

Ora che hai compreso l'importanza di avere due server sincronizzati, è giunto il momento per una procedura dettagliata su come raggiungere l'obiettivo di questo articolo. Avremo bisogno di due server attivi e funzionanti insieme ai rispettivi indirizzi IP o nomi di dominio.

  • L'indirizzo IP del server principale/primario:3.135.207.xx .
  • L'indirizzo IP del server di backup/secondario:18.118.208.xx

Per sincronizzare correttamente questi due server automaticamente, avremo bisogno dell'aiuto di rsync utilità. Indipendentemente dalla distribuzione del server Linux che stai utilizzando, installa rsync da uno dei seguenti comandi di installazione di Linux.

La sua installazione dovrebbe avvenire sia sul tuo server primario/principale che sul tuo server secondario/di backup.

$ sudo apt-get install rsync     [On Debian, Ubuntu and Mint]
$ sudo yum install rsync         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a net-mis/rsync   [On Gentoo Linux]
$ sudo pacman -S rsync           [On Arch Linux]
$ sudo zypper install rsync      [On OpenSUSE]    

Sincronizzare i file di directory di destinazione in Linux utilizzando Rsync

Assumiamo ad esempio il server principale/primario (3.135.207.xx ) ha la directory LinuxShellTips con i seguenti file evidenziati che devono essere sincronizzati con il server di backup/secondario (18.118.208.xx ).

$ ls

Dobbiamo accedere al server di backup/secondario (18.118.208.xx ) e creare una directory simile che ospiterà i file dal server principale/primario (3.135.207.xx ) quando inizia il processo di sincronizzazione.

$ mkdir LinuxShellTips_Backup
$ cd LinuxShellTips_Backup

Sincronizzare le directory utilizzando Rsync in Linux

Da rsync supporta l'uso di ssh protocollo, la sicurezza dell'accesso al server è garantita. Per testare manualmente come rsync esegue tra questi due server, eseguiremo il seguente comando.

Stiamo eseguendo questo comando dal server di backup/secondario (18.118.208.xx ).

$ sudo rsync -avzhe ssh [email protected]:/home/ubuntu/LinuxShellTips/ /home/ubuntu/LinuxShellTips_Backup 

Come hai notato, i tre file dal server principale/primario (3.135.207.xx ) sono stati copiati correttamente sul server di backup/secondario (18.118.208.xx ).

Sincronizzare automaticamente le directory utilizzando Rsync in Linux

Dobbiamo eseguire i due passaggi seguenti per automatizzare completamente la rsync.

Passaggio 1:configurare l'accesso senza password SSH

Durante l'esecuzione del comando precedente per testare rsync , dovrebbe essere stata richiesta la password di accesso del server principale/primario. Per eliminare le richieste di password durante la sincronizzazione dei server, dobbiamo generare una chiave pubblica e una privata.

Usa il seguente comando sul tuo server di backup/secondario:

$ sudo ssh-keygen -t rsa -b 2048

Premi [Invio ] quando viene richiesta una passphrase per lasciare il campo vuoto e copiare le chiavi private e pubbliche generate sul server principale/primario.

$ sudo ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

Ora puoi eseguire comodamente il rsync trattato in precedenza comando senza fornire una password di accesso al server per il server principale/primario.

$ sudo rsync -avzhe ssh [email protected]:/home/ubuntu/LinuxShellTips/ /home/ubuntu/LinuxShellTips_Backup 

Passaggio 2:configura un processo Cron per automatizzare la sincronizzazione

Da SSH È ora possibile eseguire l'accesso senza password tra questi due server, il passaggio finale per automatizzare il processo di rsync è creare un processo cron modificando il file crontab sul server di backup/secondario.

$ sudo crontab -e

Modifica il file crontab creando una pianificazione del lavoro cron per sincronizzare i file di directory dei tuoi due server Linux.

*/5    *    *     *     *  sudo rsync -avzhe ssh [email protected]:/home/ubuntu/LinuxShellTips/ /home/ubuntu/LinuxShellTips_Backup

Salva e chiudi il file crontab.

Il processo cron sopra implementato sincronizzerà automaticamente il server di backup/secondario con il server principale/primario ogni 5 minuti.

La sincronizzazione di due server crea la soluzione perfetta ai problemi di inattività del server e agli errori di registro del server. Inoltre, non devi preoccuparti di perdere i tuoi file di dati utente e di sistema poiché il server di backup ospiterà una copia completa di quei file.


Linux
  1. Come trasferire file tra due computer utilizzando i comandi nc e pv

  2. Come configurare il server SAMBA e trasferire file tra Linux e Windows

  3. Come unire due file di testo in Linux

  4. Come sincronizzare i file tra due telecomandi?

  5. Come utilizzare rsync dal PC Windows al server Linux remoto?

Come scaricare file da server Linux remoti

Come confrontare due file nel terminale Linux

Come sincronizzare automaticamente due server Web in Linux

Come configurare un demone Rsync sul tuo server Linux

Come utilizzare Rsync per copiare/sincronizzare file tra server

Differenza negli spazi bianchi tra due file su Linux