1,378 21/03/2026 07/04/2026 3 min

Quando gestisci un server Linux, è fondamentale garantire la sicurezza e la disponibilità dei log di sistema. Un VPS che registra grandi volumi di dati può facilmente saturare lo spazio disponibile, rendendo necessario un processo di backup automatizzato. In questo articolo, esploreremo come configurare un sistema di backup dei log di sistema utilizzando cron e rsync.

Prerequisiti

  • OS: Ubuntu 20.04 o superiore
  • Permessi: accesso root o sudo
  • Dipendenze: rsync e cron installati
  • Conoscenze utili: basi di shell scripting

Step 1: Creare una Directory di Backup

Il primo passo è creare una directory dove verranno salvati i backup dei log di sistema. Questo aiuterà a mantenere i log organizzati.

mkdir -p /var/backups/logs

# Output: nessun output atteso, ma la directory verrà creata.

Perché funziona: Il comando mkdir crea una nuova directory specificata, utilizzando l'opzione -p per non generare errori se la directory esiste già.

Step 2: Scrivere uno Script di Backup

È necessario uno script che esegua il backup dei log. Creiamo un file chiamato backup_logs.sh.

nano /usr/local/bin/backup_logs.sh

# Output: si aprirà l'editor nano per creare il file.

Perché funziona: nano è un editor di testo che consente di creare e modificare file direttamente nel terminale.

All'interno dello script, incolla il seguente codice:

#!/bin/bash

# Backup dei log di sistema
rsync -av --remove-source-files /var/log/ /var/backups/logs/

# Output: nessun output atteso, ma i log verranno copiati nella directory di backup.

Perché funziona: rsync copia i file in modo efficiente, e l'opzione --remove-source-files elimina i file sorgente una volta copiati.

Nota cross-distro:

Il comando rsync è disponibile su molte distribuzioni, ma su Fedora/RHEL, potrebbe essere necessario installarlo tramite sudo dnf install rsync.

Step 3: Rendere Eseguibile lo Script

È necessario rendere eseguibile lo script creato in precedenza.

chmod +x /usr/local/bin/backup_logs.sh

# Output: nessun output atteso, ma lo script diventerà eseguibile.

Perché funziona: Il comando chmod +x modifica i permessi del file per renderlo eseguibile.

Step 4: Configurare Cron per Eseguire lo Script Automaticamente

Ora configuriamo cron per eseguire lo script a intervalli regolari, ad esempio ogni giorno alle 2 di notte.

crontab -e

# Output: si aprirà l'editor per modificare il file crontab.

Perché funziona: crontab -e consente di modificare le attività pianificate per l'utente corrente.

Aggiungi la seguente riga al file crontab:

0 2 * * * /usr/local/bin/backup_logs.sh

# Output: nessun output atteso, ma la nuova attività verrà salvata nel crontab.

Perché funziona: Questa riga pianifica lo script per essere eseguito ogni giorno alle 2:00 AM.

Verifica Finale

Per verificare che il backup funzioni, puoi controllare la directory di backup per i file copiati.

ls -l /var/backups/logs

# Output: elenca i file presenti nella directory di backup.

Interpretazione: Dovresti vedere i log di sistema copiati nella directory /var/backups/logs.

Troubleshooting

  • Errore: rsync: command not found
    Causa: rsync non è installato sul sistema.
    Soluzione: sudo apt install rsync
  • Errore: Permission denied
    Causa: non hai i permessi necessari per accedere ai log.
    Soluzione: esegui lo script con sudo.
  • Errore: No such file or directory
    Causa: la directory di origine non esiste.
    Soluzione: controlla che /var/log/ esista e contenga i log.

Conclusione

Hai configurato un sistema di backup automatico per i log di sistema su un server Linux. Questo processo aiuta a mantenere i log gestibili e sicuri. Il prossimo passo logico è monitorare lo spazio disponibile sul disco e garantire che il backup funzioni come previsto.