2019-08-12 17:45:09 +02:00
---
2021-03-04 23:56:46 +01:00
title: Backup di nextcloud
2019-08-12 17:45:09 +02:00
sidebar: mydoc_sidebar
2023-01-10 18:16:14 +01:00
summary: "mettere al sicuro i dati della comunità di tanto in tanto"
2019-08-12 17:45:09 +02:00
permalink: mydoc_backup.html
folder: mydoc
---
2023-01-10 18:16:14 +01:00
2023-01-10 18:45:40 +01:00
# Manutenzione Cloud Dispensa
2023-01-10 18:16:14 +01:00
## Preliminari
Verificare la versione a cui siamo: https://scan.nextcloud.com/results/50ee0a1d-6f8e-4aa4-886a-5d7676f0cbeb
2023-01-10 18:29:41 +01:00
Se c'è scritto: NOT on latest patch level
2023-01-11 15:49:41 +01:00
2023-01-10 18:29:41 +01:00
Significa che dobbiamo aggiornare.
2023-01-10 18:16:14 +01:00
Verificare le versioni successive di nexcloud:
2023-01-10 18:29:41 +01:00
Esempio: da scan vediamo che stiamo usando la versione: 24.0.6.1
Verfichiamo qual'è l'ultima versione della nostra "maior release", ovvero il primo numero a sinistra:
esempio: 24.0.8
Qui: https://hub.docker.com/_/nextcloud o qui: https://nextcloud.com/it/changelog/ o qui: https://download.nextcloud.com/server/releases/
Esempio, dalla 24.0.6 aggiorneremo alla 24.0.8, verificheremo gli aggiornamenti del database via web:
e poi procederemo ad aggiornare alla 25.0.1, verificheremo di nuovo gli aggiornamenti degl indici del database e poi faremo l'ultimo salto di versione a quella disponibile, esempio: 25.0.2
2023-01-10 18:16:14 +01:00
Procedere con [l'autenticarsi sul server ](https://www.campiaperti.org/documentazione/mydoc_about.html#autenticarsi-ssh )
## Backup
2019-08-12 17:45:09 +02:00
2023-01-10 18:45:40 +01:00
Fonte: https://docs.nextcloud.com/server/20/admin_manual/maintenance/backup.html
2019-08-29 17:32:57 +02:00
2023-01-11 15:49:41 +01:00
Per fare il backup di una installazione Nextcloud ci sono 4 cose principali che devi mantenere:
2019-08-12 17:45:09 +02:00
2021-03-04 23:56:46 +01:00
The config folder
The data folder
The theme folder
The database
2020-09-30 11:04:08 +02:00
2023-01-10 18:45:40 +01:00
Eseguire prima il test di salute dell'installazione.
2023-01-10 19:07:45 +01:00
A questo punto recarsi nella cartella dove abbiamo il file docker-compose.yml
cd /opt/nextcloud/
Quindi da lì impostare la modalità manutenzione:
2020-09-30 11:04:08 +02:00
2021-03-04 23:56:46 +01:00
docker exec -u www-data nextcloud-app php occ maintenance:mode --on
2023-01-11 15:49:41 +01:00
2023-01-10 19:07:45 +01:00
Verificare che abbia funzionato: https://campiaperti.tetaneutral.net/login
Fare il backup di config, data, themes, e custom-apps, che si trovano tutte dentro la cartella app/
2019-08-12 17:45:09 +02:00
2023-01-10 19:24:13 +01:00
#tar -czvf /home/backup_dispensa/data-nextcloud_$(date +%Y%m%d%H%M).tar.gz /opt/nextcloud/app
2019-08-12 17:45:09 +02:00
2023-01-10 19:07:45 +01:00
fare il backup del db:
2023-01-10 19:35:10 +01:00
docker exec -i nextcloud-mariadb mysqldump --single-transaction -u [username] -p [db_name] > /home/backup_dispensa/nextcloud-sqlbkp_$(date +%Y%m%d%H%M).bak
2023-01-11 15:49:41 +01:00
2023-01-10 19:35:10 +01:00
Ti chiederà la password del db, la trovi leggendo nel file docker-compose.yml
2023-01-11 15:49:41 +01:00
2023-01-10 19:07:45 +01:00
Cancellare i backup più vecchi.
2023-01-10 19:43:22 +01:00
### Copiare in locale il backup
2023-01-10 19:35:10 +01:00
2023-01-10 19:43:22 +01:00
Dal proprio PC, quindi in un altro terminale rispetto a quello in cui si è connessi al server, scaricare il backup del db. Il nome del backup, es: nextcloud-sqlbkp_202301101834.bak è da andare a leggere nella cartella dei backup e da sostituire nel seguente comando:
2019-08-12 17:45:09 +02:00
2023-01-10 19:35:10 +01:00
scp -P 2222 -r root@campiaperti.tetaneutral.net:/home/backup_dispensa/nextcloud-sqlbkp_DATA.bak /home/$USER/
2023-01-11 15:49:41 +01:00
2023-01-10 19:43:22 +01:00
Scaricare il backup della directory app, che contiene (config, data, themes e custom-apps)
2023-01-10 19:07:45 +01:00
2023-01-10 19:35:10 +01:00
scp -P 2222 -r root@campiaperti.tetaneutral.net:/home/backup_dispensa/nextcloud-app_DATA.tar.gz /home/$USER/
2023-01-11 15:49:41 +01:00
Se non si riesce a scaricare il backup dei dati perchè la banda di connessione o il tempo a disposizione è poco, scaricare assolutamente almeno il backup del database.
## Aggiornare
2023-01-10 19:35:10 +01:00
2023-01-10 19:43:22 +01:00
Modificato il docker-compose.yml con l'immagine successiva nextcloud: esempio 24.0.8
2023-01-10 19:35:10 +01:00
2023-01-10 19:48:12 +01:00
docker-compose down
2023-01-11 15:49:41 +01:00
2023-01-10 19:48:12 +01:00
docker-compose up -d
2023-01-11 15:49:41 +01:00
2023-01-10 19:54:26 +01:00
docker-compose exec --user www-data app php occ maintenance:mode --off
2023-01-10 19:35:10 +01:00
2023-01-10 19:54:26 +01:00
Poi da loggate come Admin in grafica web, visitando [questa pagina ](https://campiaperti.tetaneutral.net/settings/admin/overview ) appuriamo che mancavano degli aggiornamenti al db, allora glieli abbiamo fatti:
2023-01-10 19:35:10 +01:00
docker-compose exec --user www-data app php occ db:add-missing-indices
2023-01-10 19:54:26 +01:00
TEST: https://campiaperti.tetaneutral.net, funziona!
2023-01-10 19:35:10 +01:00
2023-01-10 19:58:47 +01:00
finito! C'è da aggiornare la pagina di copertina del cloud per dare feedback all'ufficio che abbiamo aggiornato!
2023-01-10 19:35:10 +01:00
2023-01-10 19:58:47 +01:00
Se c'è tempo è cosa carina [mettere ordine tra le immagini docker ](https://git.lattuga.net/campiaperti/documentazione/src/master/pages/mydoc/mydoc_about.md#comandi-base ) che possono essere rimaste lì da tempo.
2023-01-10 19:35:10 +01:00
2023-01-10 20:01:49 +01:00
Verificare che siamo all'ultima versione: https://scan.nextcloud.com/results/50ee0a1d-6f8e-4aa4-886a-5d7676f0cbeb Il risultato dovrebbe essere A+
2019-08-29 17:32:57 +02:00
2023-01-10 20:01:49 +01:00
#### Ripristinare configurazione di ngnix "client_max_body_size"
2019-08-29 17:32:57 +02:00
2020-09-30 11:04:08 +02:00
docker exec -ti nextcloud-proxy /bin/bash
2021-03-04 23:56:46 +01:00
da dentro al container
2020-09-30 11:04:08 +02:00
vi /etc/nginx/nginx.conf
2021-03-04 23:56:46 +01:00
aggiungere la riga dentro a http {…}
2020-09-30 11:04:08 +02:00
client_max_body_size 20M;
2021-03-04 23:56:46 +01:00
riavviare ad nginx
2020-09-30 11:04:08 +02:00
nginx -s reload
2021-03-04 23:56:46 +01:00
---
#### Togliere la modalità manutenzione
2023-01-10 19:35:10 +01:00
2021-03-04 23:56:46 +01:00
docker exec -u www-data nextcloud-app php occ maintenance:mode --off
2020-09-30 11:04:08 +02:00
2023-01-11 15:49:41 +01:00
2019-08-29 17:32:57 +02:00
2019-08-12 17:45:09 +02:00
{% include links.html %}