System backup (Italiano) - ArchWiki

Jump to content

# System backup (Italiano)

From ArchWiki
Stato della traduzioneQuesto articolo è la versione tradotta di System backup. Data dell'ultima traduzione: 2026-02-13. Se ci sono cambiamenti nella versione inglese, è possibile dare una mano a sincronizzarne la traduzione.

Related articles

- Programmi di sincronizzazione e backup
- Manutenzione del sistema#Backup
- Crittografia dei dati a riposo#Backup per scenari di crittografia del disco
- Clonazione del disco
- Migrare l'installazione in un nuovo hardware
- Recupero dei file

Da Wikipedia:

Con backup, nella sicurezza informatica, si indica un processo di disaster recovery ovvero, in particolare, la messa in sicurezza delle informazioni di un sistema informatico attraverso la creazione di ridondanza delle informazioni stesse (una o più copie di riserva dei dati), da utilizzare come recupero (ripristino) dei dati stessi in caso di eventi malevoli accidentali o intenzionali o semplice manutenzione del sistema.

Un metodo comune e generalmente efficace è quello di seguire la strategia 3-2-1:

- mantenere tre copie dei propri dati;
- usare due differenti tipi di supporto di memorizzazione;
- conservare una copia fuori sede.

## Usare gli snapshot Btrfs

Si veda Btrfs#Snapshot, #Snapshot e partizione /boot e Snapper.

## Usare gli snapshot LVM

Si veda LVM#Snapshot, Create root filesystem snapshots with LVM e #Snapshot e partizione /boot.

## Usare rsync

Si veda rsync#Come strumento di backup.

## Usare tar

Si veda Backup completo del sistema con tar.

## Usare SquashFS

Si veda Backup completo del sistema con SquashFS.

Nota SquashFS non supporta le ACL.

## Backup avviabile

Avere un backup avviabile può essere utile nel caso in cui il file system si corrompa o se un aggiornamento compromette il sistema. Il backup può anche essere utilizzato come ambiente di prova per gli aggiornamenti, abilitando ad esempio il repository testing, ecc. Se il sistema è stato trasferito su una partizione o un disco differente e si desideri avviarlo, il processo è semplice: basta aggiornare il file `/etc/fstab` del backup e il file di configurazione del boot loader.

Questa sezione presuppone che sia stato eseguito il backup del sistema su un altro disco o partizione, che l'attuale boot loader funzioni correttamente e che si desideri poter avviare anche il backup.

### Aggiornare l'fstab

Senza riavviare, modificare il file fstab del backup commentando o rimuovendo ogni voce esistente. Aggiungere una voce per la partizione che contiene il backup come nell'esempio seguente:

    /dev/sdaX    /             ext4      defaults                 0   1

Ricordarsi di utilizzare il nome del dispositivo e il tipo di file system corretti.

### Aggiornamento del file di configurazione del boot loader

Per Syslinux è sufficiente duplicare la voce corrente, modificando il puntatore affinché faccia riferimento a un disco o a una partizione differente.

Suggerimento Invece di modificare `syslinux.cfg`, è possibile editare temporaneamente il menu durante l'avvio. Quando appare il menu, premendo il tasto `Tab` si possono cambiare le voci pertinenti. Le partizioni vengono conteggiate a partire da uno, i dischi a partire da zero.

Per GRUB si raccomanda di rigenerare automaticamente il file di configurazione principale. Se si desidera installare ex novo tutti i file di GRUB in una posizione diversa da `/boot`, come ad esempio `/mnt/newroot/boot`, è necessario utilizzare il flag `--boot-directory`.

È inoltre necessario verificare la nuova voce di menu in `/boot/grub/grub.cfg`. Bisogna assicurarsi che l'UUID corrisponda alla nuova partizione, altrimenti il sistema potrebbe ancora avviare quello vecchio. L'UUID di una partizione può essere individuato con lsblk:

    $ lsblk -no NAME,UUID /dev/sdXY

dove `/dev/sdXY` è la partizione desiderata (es. `/dev/sdb3`). Per elencare gli UUID delle partizioni che GRUB ritiene di poter avviare, si può utilizzare grep:

    # grep UUID= /boot/grub/grub.cfg

### Primo avvio

Riavviare il computer e selezionare la voce corretta nel boot loader. Questo caricherà il sistema per la prima volta. Tutte le periferiche dovrebbero essere rilevate e le cartelle vuote in `/` verranno popolate.

Ora è possibile modificare nuovamente `/etc/fstab` per aggiungere le partizioni e i punti di montaggio precedentemente rimossi.

## Snapshot e partizione /boot

Se il file system supporta gli snapshot (ad es. LVM o Btrfs), questi molto probabilmente escluderanno la partizione `/boot` o la partizione ESP.

È possibile copiare automaticamente la partizione di boot nella partizione di `root` in occasione di un aggiornamento del kernel tramite un hook di pacman (assicurandosi che il file dell'hook sia di proprietà di root):

    /etc/pacman.d/hooks/55-bootbackup_pre.hook

    [Trigger]
    Operation = Upgrade
    Operation = Install
    Operation = Remove
    Type = Path
    Target = usr/lib/modules/*/vmlinuz

    [Action]
    Depends = rsync
    Description = Backing up pre /boot...
    When = PreTransaction
    Exec = /usr/bin/bash -c 'rsync -a --mkpath --delete /boot/ "/.bootbackup/$(date +%Y_%m_%d_%H.%M.%S)_pre"/'

    /etc/pacman.d/hooks/95-bootbackup_post.hook

    [Trigger]
    Operation = Upgrade
    Operation = Install
    Operation = Remove
    Type = Path
    Target = usr/lib/modules/*/vmlinuz

    [Action]
    Depends = rsync
    Description = Backing up post /boot...
    When = PostTransaction
    Exec = /usr/bin/bash -c 'rsync -a --mkpath --delete /boot/ "/.bootbackup/$(date +%Y_%m_%d_%H.%M.%S)_post"/'

## Automazione

I backup creati solo manualmente sono raramente aggiornati quando se ne presenta la necessità. Pertanto, si consiglia di impostare un processo automatizzato per garantire che le procedure di backup siano eseguite regolarmente. Le soluzioni più comuni sono fornite da systemd/Timers e cron.

Per un backup locale dell'intero sistema che richieda l'accesso in lettura a tutti i file, il timer e il servizio systemd seguenti possono essere utili come modello per i processi di backup automatizzati.

Per utilizzare un'unità timer, abilitarla e avviarla come qualsiasi altra unità.

    /etc/systemd/system/backup.timer

    [Unit]
    Description=Timer for backups

    [Timer]
    OnCalendar=weekly
    Persistent=true
    Unit=backup.service

    [Install]
    WantedBy=timers.target

L'esempio seguente è configurato per l'esecuzione con i permessi minimi necessari, impedendo al contempo modifiche da parte degli utenti normali per una maggiore sicurezza.

Si noti che questo esempio bloccherà il processo di spegnimento qualora venisse avviato mentre il backup è in esecuzione. Ciò garantisce che il backup non venga interrotto, ma può causare un ritardo durante lo spegnimento o il riavvio se è necessario salvare molti nuovi file.

    /etc/systemd/system/backup.service

    [Unit]
    Description=Backup system

    [Service]
    Type=simple
    User=backupuser

    AmbientCapabilities=CAP_DAC_READ_SEARCH
    CapabilityBoundingSet=CAP_DAC_READ_SEARCH
    DevicePolicy=closed
    LockPersonality=yes
    MemoryDenyWriteExecute=yes
    NoNewPrivileges=yes
    PrivateDevices=yes
    PrivateTmp=yes
    ProtectClock=yes
    ProtectControlGroups=yes
    ProtectHome=read-only
    ProtectHostname=yes
    ProtectKernelLogs=yes
    ProtectKernelModules=yes
    ProtectKernelTunables=yes
    ProtectProc=invisible
    ProtectSystem=full
    RemoveIPC=yes
    RestrictAddressFamilies=AF_UNIX
    RestrictNamespaces=yes
    RestrictRealtime=yes
    RestrictSUIDSGID=yes
    SystemCallFilter=@system-service
    UMask=7007

    ExecStart=/usr/local/bin/backup.sh
    ExecStop=bash -c 'if [ -n "$MAINPID" ]; then tail --pid="$MAINPID" -f /dev/null; fi'

`CAP_DAC_READ_SEARCH` imposta la capability che consente di bypassare i controlli dei permessi di lettura dei file nel file system; in questo modo, tutti i file nel sistema risulteranno accessibili senza richiedere i permessi di root.

Per i backup remoti, è consentito l'uso di protocolli di rete:

    RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6

Category:

- Backup (Italiano)

System backup (Italiano)
Add topic