introduzione
Se si esegue un sito Web critico, è consigliabile eseguire il mirroring dei file su un server secondario. Nel caso in cui il tuo server principale abbia un problema di rete o hardware, la presenza di file con mirroring ti offre la flessibilità di passare immediatamente da un server all'altro.
Per sincronizzare i file dal server A (principale) al server B (backup), attenersi alla seguente procedura.
Installa rsync
Installa rsync sia sul server A che sul server B.
apt-get install rsync
Generare una chiave SSH sul server B
Eseguire il comando seguente sul server B per generare una chiave SSH.
ssh-keygen
Premere Invio per saltare tutti gli ingressi.
Copia il contenuto generato in /root/.ssh/id_rsa.pub.
Inserire la chiave pubblica SSH nel server A
Vai al server A, inserisci il contenuto copiato /root/.ssh/authorized_keys.
Se questa directory o file non esiste, crearla. Ora il server B può accedere al server A utilizzando SSH.
Inizia la sincronizzazione
Torna al server B e avvia rsync per la prima volta. Rivedi ed esegui il comando di seguito. Dovrai aggiungere il percorso al tuo sito Web su entrambi i server e l'indirizzo IP del server A.
rsync -avrt --delete --rsh='ssh -p 22' root@SERVER_A_IP_ADDRESS:/path/to/your/website/in/server/a/ /backup/path/in/server/b/
Digitare yesse è stato richiesto di salvare le informazioni di autenticazione. Se hai configurato ssh per l'ascolto su una porta personalizzata, cambia 22 alla tua porta. Attendi fino a quando tutti i file non sono stati sincronizzati.
Imposta cronjob
Imposta un cronjob per sincronizzare automaticamente i tuoi file. Questo esempio li sincronizza ogni 3 minuti. Modifica /etc/crontab.
Rivedere la riga seguente e aggiungerla nel crontabfile. Dovrai aggiornarlo come hai fatto in precedenza.
*/3 * * * * root rsync -avrt --delete --rsh='ssh -p 22' root@SERVER_A_IP_ADDRESS:/path/to/your/website/in/server/a/ /backup/path/in/server/b/ >/dev/null 2>&1