Eseguire il backup del vostro server, delle app e dei dati è un compito importante nell'amministrazione di un server poiché vi protegge da eventi inaspettati ma sempre possibili (come server distrutto da un incendio, corruzione del database, perdita delle credenziali di accesso, compromissione del server e altro). La policy di backup che adotterete dipende dall'importanza dei dati che state gestendo: ad esempio non sarà tanto importante avere il backup di un server di prova mentre lo sarà per un server contenente dati importanti per un'associazione o una ditta e sarà altrettanto importante tenere questo backup in un luogo fisico diverso dal server stesso.
YunoHost fornisce un sistema di backup che vi permette di fare il backup (e il suo ripristino) della configurazione e dei dati (come ad esempio le email) e delle app che lo supportano.
Si possono gestire i backup sia da riga di comando (yunohost backup --help
) sia dalla pagina web di amministrazione (nella sezione Backup) anche se alcune possibilità non sono disponibili in questo modo.
Il metodo di default attuale crea degli archivi .tar.gz
contenenti tutti i file del backup stesso. Nel futuro YunoHost ha in progetto di usare Borg che è una soluzione più flessibile, efficiente e potente.
Potete creare gli archivi di backup dalla pagina web di amministrazione andando in Backup > Archivi locali e cliccare su "Nuovo backup". Vi verrà chiesto di selezionare quale configurazione, dati e di quale app volete fare il backup.
Potete fare un nuovo archivio di backup dalla riga di comando. Questi sono alcuni esempi di comandi e i relativi risultati:
Esecuzione di un backup completo (tutti i componenti del sistema e delle app):
yunohost backup create
Backup delle sole app
yunohost backup create --apps
Backup di sole due app (wordpress e shaarli)
yunohost backup create --apps wordpress shaarli
Backup solo delle email
yunohost backup create --system data_mail
Backup delle email e wordpress
yunohost backup create --system data_mail --apps wordpress
Per maggiori informazioni e opzioni sulla creazione di backup leggete yunohost backup create --help
. Potrete anche elencare le parti del sistema delle quali si può farne il backup con yunohost hook list backup
.
Alcune app come ad esempio Nextcloud possono contenere grandi quantità di dati. È possibile in questi casi eseguire il backup dell'app senza i dati degli utenti, modalità che viene indicata come "backing up only the core" (delle app).
Eseguendo un aggiornamento, delle app con grandi quantità di dati normalmente verrà eseguito un backup senza questi dati.
Per disabilitare esplicitamente il backup di grandi quantità di dati, per le applicazioni che implementano questa possibilità, dovete impostare la variabile BACKUP_CORE_ONLY
prima di eseguire il comando di backup: sudo BACKUP_CORE_ONLY=1 yunohost backup create --apps nextcloud
. Fate attenzione però perché dovrete fare il backup di questi dati autonomamente: è possibile eseguire questi backup, di tipo incrementale o differenziale, opzione che però non è ancora provvista da YunoHost.
Dopo aver creato gli archivi di backup è possibile elencarli e ispezionarli sia dalla pagina web di amministrazione relativa sia dalla riga di comando con i comandi yunohost backup list
e yunohost backup info <archivename>
. Di default i backup sono copiati nella directory /home/yunohost.backup/archives/
.
Attualmente il modo più semplice per scaricare gli archivi è usando il programma FileZilla (vedi questa pagina).
Una soluzione alternativa è quella di installare Nextcloud o un'applicazione simile e configurarle per accedere ai file contenuti in /home/yunohost.backup/archives/
da un browser.
Un'altra soluzione è quella di usare scp
(un programma che si basa su ssh
) per copiare i file fra due computer usando la riga di comando. In questo modo usando un computer con GNU/Linux potete copiare uno specifico backup con questo comando:
scp admin@your.domain.tld:/home/yunohost.backup/archives/<archivename>.tar ./
Se la porta ssh è diversa da 22 :
scp -P porta_ssh admin@your.domain.tld:/home/yunohost.backup/archives/<archivename>.tar ./
Allo stesso modo potete copiare da un computer al vostro server con questo comando:
scp /path/to/your/<archivename>.tar admin@your.domain.tld:/home/yunohost.backup/archives/
Se la porta ssh è diversa da 22 :
scp -P porta_ssh /path/to/your/<archivename>.tar admin@your.domain.tld:/home/yunohost.backup/archives/
Dovete andare in Backup > Archivi locali e selezionare il vostro archivio. È possibile selezionare ciò che volete ripristinare e poi cliccare su 'Ripristina'.
Dalla riga di comando date il comando yunohost backup restore <archivename>
(senza il .tar.gz
) per ripristinare un archivio. Così come yunohost backup create
, questo comando ripristinerà di default tutto il contenuto dell'archivio; se invece volete ripristinare solo alcuni file potete usare ad esempio il comando yunohost backup restore --apps wordpress
per ripristinare esclusivamente wordpress.
Per ripristinare una app, il dominio sul quale era stata installata dovrà essere già stato configurato oppure dovrete avere già ripristinato la configurazione di sistema relativa. Inoltre non è possibile ripristinare una app che è già installata ... il che comporta che se volete ripristinare una versione passata della app dovrete prima disinstallarla.
È possibile ripristinare un archivio completo invece di eseguire il passaggio di postinstall. Questo è utile se volete reinstallare un sistema interamente da un backup preesistente. Per fare questo dovrete copiare l'archivio sul server nella directory /home/yunohost.backup/archives
e poi, invece di dare il comando yunohost tools postinstall
darete il comando:
yunohost backup restore <archivename>
Nota: se il vostro archivio non si trova in /home/yunohost.backup/archives
potete specificare il path giusto con:
yunohost backup restore /path/to/<archivename>
Potete connettere e montare un disco esterno per tenerci gli archivi di backup (oltre a tutto il resto): per fare questo prima spostate gli archivi e poi aggiungete un link simbolico.
PATH_TO_DRIVE="/media/my_external_drive" # Come esempio, dipende da dove monterete il vostro disco
mv /home/yunohost.backup/archives $PATH_TO_DRIVE/yunohost_backup_archives
ln -s $PATH_TO_DRIVE/yunohost_backup_archives /home/yunohost.backup/archives
È possibile aggiungere un semplice job di cron per creare i backup automaticamente. Ad esempio per fare il backup di wordpress su base settimanale create il file /etc/cron.weekly/backup-wordpress
con queste righe:
#!/bin/bash
yunohost backup create --apps wordpress
e poi rendetelo eseguibile:
chmod +x /etc/cron.weekly/backup-wordpress
Prestate attenzione a ciò di cui fate il backup e quando perché altrimenti è possibile esaurire lo spazio del vostro disco eseguendo, ad esempio, 30 Gb di backup ogni giorno.
Potete seguire questo tutorial sul forum per impostare Borg fra due server: https://forum.yunohost.org/t/how-to-backup-your-yunohost-server-on-another-server/3153
Alternativamente, la app Archivist permette di impostare un sistema simile: https://forum.yunohost.org/t/new-app-archivist/3747
dd
Se state usando una scheda ARM un altro sistema per fare backup completi può essere la creazione di un'immagine della card SD.
Questo può essere fare facilmente usando USBimager (N.B.: accertatevi di usare la versione Read-Write! Non la versione write-only!) Il processo è fondamentalmente il contrario della copia sulla card SD.
Maggiori dettagli nella documentazione di USBimager
Alternativamente potete usare dd
se vi trovate bene ad usare la riga di comando come:
dd if=/dev/mmcblk0 | gzip > ./my_snapshot.gz
(rimpiazzate /dev/mmcblk0
con il device reale della vostra card SD)
Hai trovato degli errori? Pensi di poter migliorare questa documentazione? Simply click the Edit link at the top of the page, and then the icon on Github to suggest changes.
Powered by Grav + with by Trilby Media. • Terms of Service