# Creare un backup con rsync

Le copie di backup dovrebbero rivestire sempre un ruolo importante nella pianificazione del server. Lo strumento e protocollo di sincronizzazione gratuito [rsync](https://www.ionos.it/digitalguide/server/tools-o-strumenti/rsync/) consente di impostare ed eseguire rapidamente backup individuali.

## Configurare i backup di rsync su server Linux: guida completa

Per utilizzare rsync su sistemi operativi Linux, devi installare il protocollo nell’omonimo pacchetto e creare i backup utilizzando i **comandi del terminale**. Di seguito illustriamo i passaggi chiave per impostare i processi di backup con rsync, usando [Ubuntu](https://www.ionos.it/digitalguide/server/know-how/ubuntu-il-sistema-linux-per-tutti/).

Per impostazione predefinita, rsync è già installato su Ubuntu. In caso contrario, recupera l’installazione utilizzando il comando seguente:

```bash
sudo apt-get install rsync
```

Se rsync è installato, utilizza i comandi del terminale desiderati per specificare la **directory di origine e di destinazione**, nonché le opzioni di backup. La rispettiva **directory di origine** e la directory in cui rsync deve memorizzare la **copia di backup** devono essere specificate come percorso di origine e di destinazione. Ad esempio, è possibile eseguire la modalità predefinita (“Archivio”) come segue:

```bash
rsync -a Directory di origine Directory di destinazione
```

Consiglio Utilizza l’esecuzione di prova `-n` per **verificare la correttezza dei parametri e delle directory** specificati; nella peggiore delle ipotesi, le informazioni errate possono portare a perdite di dati. Se alcuni file non vengono copiati come desiderato, spesso è dovuto alla mancanza dei permessi di accesso. In tal caso, prova a eseguire il comando come amministratore immettendo il parametro con il prefisso `sudo`.

## Backup con rsync: 5 esempi di utilizzo

Se si possiede sufficiente dimestichezza con i comandi di base, rsync si rivela uno strumento eccellente per la **copia di file** e l’**esecuzione di backup**. Inoltre, è possibile testare e applicare impostazioni di comando personalizzate o fare affidamento su combinazioni collaudate dei parametri rsync disponibili. Nelle sezioni seguenti abbiamo riassunto cinque scenari popolari per i backup rsync.

### Backup standard con modalità di archiviazione

La **modalità di archiviazione** copia per impostazione predefinita tutti i file dalla directory di origine alla directory di destinazione (comprese tutte le sottodirectory). Vengono così preservate tutte le autorizzazioni, le marche temporali e i dati del dispositivo. Grazie alla combinazione di varie opzioni in un singolo parametro, si rivela essere in molti casi la soluzione migliore e più semplice. Combinando la modalità con il parametro `-v`, durante il processo di backup riceverai anche **informazioni dettagliate sullo stato**.

```bash
rsync -av Directory di origine Directory di destinazione
```

La rispettiva **directory di origine** e la **directory** in cui si desidera che rsync **salvi la copia di backup** devono essere specificate come percorso di origine e di destinazione.

### Copia identica della directory di origine

rsync è in grado non solo di trasferire file da A a B, ma anche di creare **copie identiche** di cartelle o intere directory. Dopo l’archiviazione predefinita, tutti i file che erano nella cartella di destinazione prima del backup con rsync, ma che non si trovano nella cartella di origine, vengono eliminati.

```bash
rsync -av --delete Directory di origine Directory di destinazione
```

### Backup di rsync senza file di un determinato formato

Se desideri eseguire un backup che esclude i file in un formato specifico, puoi farlo utilizzando `--exclude`. Il parametro consente di **definire un modello di caratteri personalizzato** che rsync utilizza come indicatore per ignorare un file. Nel seguente esempio di codice, si tratta del formato di file di testo [*.txt*](https://www.ionos.it/digitalguide/server/configurazione/file-txt/):

```bash
rsync -av --exclude' *.txt' Directory di origine Directory di destinazione
```

### Backup di file con una dimensione minima o massima

Se non si desidera un determinato modello di caratteri, ma la ragione per **ignorare determinati file** nel backup di rsync deve essere la **dimensione dei file**, utilizza i parametri `--max-size` o `--min-size`. Il comando seguente copia solo i file di minimo 10 MB e massimo 100 MB:

```bash
rsync -av --min-size=10MB --max-size=100MB Directory di origine Directory di destinazione
```

### Backup di rsync con conversione del formato di carattere

È possibile che i file nella directory di destinazione siano necessari in un **formato di carattere** diverso, ad esempio se vuoi trasferire dati da un Mac a un server Linux. Per impostazione predefinita, il dispositivo Apple utilizza UTF8-MAC, che non è presente sul sistema Linux e causerebbe problemi con i **caratteri speciali**. L’opzione `--iconv` semplifica la personalizzazione della **codifica dei caratteri** all’interno del processo di backup di rsync (nell’esempio, da UTF8-MAC a UTF8):

```bash
rsync -av --iconv=UTF8-MAC,UTF8 Directory di origine Directory di destinazione
```

## Le opzioni di backup con rsync più importanti

È possibile definire le singole impostazioni per i backup con rsync utilizzando le **opzioni**, che possono essere abbreviate per lettera o scritte per intero. La tabella seguente riassume i **parametri** più importanti, che possono essere combinati tra loro a seconda delle necessità:

<table>
  <thead>
    <tr>
      <th>Opzione</th>
      <th>Funzione</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>`-r`, `--recursive`</td>
      <td>Il backup di rsync considera tutte le sottodirectory contenute</td>
    </tr>
    <tr>
      <td>`-u`, `--update`</td>
      <td>Istruzione per saltare i file più recenti nella directory di destinazione rispetto alla directory di partenza</td>
    </tr>
    <tr>
      <td>`-c`, `--checksum`</td>
      <td>Differenziazione dei file di origine e di destinazione in base alle somme di controllo</td>
    </tr>
    <tr>
      <td>`-l`, `--links`</td>
      <td>I collegamenti simbolici vengono copiati come tali (e non come file)</td>
    </tr>
    <tr>
      <td>`-p`, `--perms`</td>
      <td>Le autorizzazioni sui file vengono mantenute</td>
    </tr>
    <tr>
      <td>`-g`, `--group`</td>
      <td>Le autorizzazioni di gruppo sui file vengono mantenute</td>
    </tr>
    <tr>
      <td>`-t`, `--times`</td>
      <td>Le marche temporali dei file (ultima modifica) vengono mantenute</td>
    </tr>
    <tr>
      <td>`-o`, `--owner`</td>
      <td>Il proprietario del file viene mantenuto (solo se amministratore)</td>
    </tr>
    <tr>
      <td>`-D`, `--devices`</td>
      <td>I dati del dispositivo vengono mantenuti</td>
    </tr>
    <tr>
      <td>`-z`, `--compress`</td>
      <td>Compressione automatica dei file trasmessi</td>
    </tr>
    <tr>
      <td>`--compress-level=NUM`</td>
      <td>Determinazione del grado di compressione; è possibile un valore (“NUM”) compreso tra 0 (nessuna compressione) e 9 (compressione massima)</td>
    </tr>
    <tr>
      <td>`-v`, `--verbose`</td>
      <td>Maggiori dettagli durante il processo di backup</td>
    </tr>
    <tr>
      <td>`-q`, `--quiet`</td>
      <td>Nasconde tutti i dettagli sul processo di backup (tranne i messaggi di errore)</td>
    </tr>
    <tr>
      <td>`-a`, `--archive`</td>
      <td>Modalità di archiviazione, che è la modalità predefinita ed è identica alla combinazione di opzioni -rlptgoD</td>
    </tr>
    <tr>
      <td>`-n`, `--dry-run`</td>
      <td>Esecuzione del test: non vengono apportate modifiche effettive</td>
    </tr>
    <tr>
      <td>`-h`, `--help`</td>
      <td>Menu di aiuto (può essere utilizzato solo senza specificare directory di origine e destinazione o altri argomenti)</td>
    </tr>
    <tr>
      <td>`--bwlimit=KBPS`</td>
      <td>Limitazione della larghezza di banda (kilobyte al secondo); ad esempio --bwlimit=30 (limite di 30 kbit/s</td>
    </tr>
    <tr>
      <td>`--exclude=MODELLO`</td>
      <td>Esclusione di un modello dalla sincronizzazione; ad esempio `--exclude cartella-esempio\` (la cartella di esempio non verrà sincronizzata.)</td>
    </tr>
    <tr>
      <td>`--delete`</td>
      <td>Eliminazione di tutti i file che si trovano nella directory di destinazione ma non nella directory di origine</td>
    </tr>
    <tr>
      <td>`--progress`</td>
      <td>Visualizzazione della durata del backup di rsync e della velocità di trasmissione</td>
    </tr>
    <tr>
      <td>`--list-only`</td>
      <td>Elenco dei file anziché di un backup</td>
    </tr>
    <tr>
      <td>`--stats`</td>
      <td>Rapporto dettagliato sui dati trasferiti (numero, dimensioni)</td>
    </tr>
    <tr>
      <td>`--max-size=SIZE`</td>
      <td>Definizione di una dimensione massima del file; ad esempio `--max-size=10MB` (verranno trasferiti solo file di dimensioni fino a 10 MB.)</td>
    </tr>
    <tr>
      <td>`--ignore-errors`</td>
      <td>Sospende l’interruzione del processo di backup in caso di errore</td>
    </tr>
  </tbody>
</table>


This is a markdown version of: [https://www.ionos.it/digitalguide/server/tools-o-strumenti/fare-il-backup-del-server-con-rsync/](https://www.ionos.it/digitalguide/server/tools-o-strumenti/fare-il-backup-del-server-con-rsync/) for AI/LLM consumption.