snellisco la pagina di backup, riducendola ai soli comandi necessari

This commit is contained in:
blat 2021-03-04 23:56:46 +01:00
parent 2d040ab06f
commit 820fabd51c

View file

@ -1,123 +1,65 @@
--- ---
title: Backup del nextcloud dispensa title: Backup di nextcloud
sidebar: mydoc_sidebar sidebar: mydoc_sidebar
summary: "mettere la sicuro i dati della comunità di tanto in tanto" summary: "mettere la sicuro i dati della comunità di tanto in tanto"
permalink: mydoc_backup.html permalink: mydoc_backup.html
folder: mydoc folder: mydoc
--- ---
# Backup
https://docs.nextcloud.com/server/20/admin_manual/maintenance/backup.html
https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes To backup a Nextcloud installation there are four main things you need to retain:
https://docs.docker.com/storage/volumes/
* commit dei cointainer running The config folder
* zip della cartella /var/app The data folder
* zip dei volumi (?) The theme folder
* aggiornare The database
* pulizia immagini e volumi
### Sul server
connettersi al server tramite ssh
ssh-add -D;
ssh-add -i ~/.ssh/sshcampiaperti;
ssh -vvv -p 2222 -l root campiaperti.tetaneutral.net
## Backuppare i container impostare la modalità manutenzione
docker exec -u www-data nextcloud-app php occ maintenance:mode --on
docker ps backup di config, data, themes, and custom-apps
#zip -r /home/backups_dispensa/data-nextcloud_$(date +%Y%m%d%H%M).zip /var/app
backup del db
docker exec -i nextcloud-mariadb mysqldump --single-transaction -u [username] -p[password] [db_name] > /home/backups_dispensa/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
### Sul proprio PC
scaricare il backup del db
scp -P 2222 -r root@campiaperti.tetaneutral.net:/home/backups_dispensa/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak /home/$USER/
Segnarsi gli id dei container di cui si vuole avere una copia, tipo una fotografia "istantanea". scaricare il backup di config, data, themes, and custom-apps
In questo modo avremo una image, che con un secondo comando trasformeremo in un file zip o tar e quindi ce lo scaricheremo. scp -P 2222 -r root@campiaperti.tetaneutral.net:/home/backups_dispensa/nextcloud-app_1.tar /home/$USER/
---
Es se vogliamo backuppare 8ce5000307c8 gli diremo: #### Ripristinare configurazione di nginix "client_max_body_size"
docker commit -p nextcloud-app nextcloud-app_bakup$(date +%Y%m%d%H%M)_1
docker commit -p nextcloud-mariadb nextcloud-mariadb_bakup$(date +%Y%m%d%H%M)_1
docker commit -p nextcloud-proxy nextcloud-proxy_bakup$(date +%Y%m%d%H%M)_1
docker commit -p nextcloud-letsencrypt nextcloud-letsencrypt_bakup$(date +%Y%m%d%H%M)_1
e quindi ora quel backup lo potremmo vedere come images
docker images
e se lo vogliamo scaricare come un solo file compresso
docker save -o ~/backup_dispensa/nextcloud_bakup_1.tar nextcloud_bakup_201806031351_1
Importante valutare lo spazio sul Server! In caso scaricarsela e poi cancellarla.
Valutare di spostare i backup su un altra macchina online, così magari è più veloce rispristinarla .
Intanto scaricarsi i file, da locale, dare il comando:
scp -P 2222 -r root@campiaperti.tetaneutral.net:/home/backups_dispensa/nextcloud-app_1.tar /home/latuahome/
## Backup di dati e volumi di nextcloud
dal file docker_compose si capisce che i volumi che usiamo per nextcloud sono:
volumes:
- nextcloud (/var/lib/docker/volumes/var_nextcloud/):/var/www/html
- ./app/config:/var/www/html/config
- ./app/custom_apps:/var/www/html/custom_apps
- ./app/data:/var/www/html/data
- ./app/themes:/var/www/html/themes
- /etc/localtime:/etc/localtime:ro
Quindi backuppando /var/app prendiamo config, custom_apps, data e themes
zip -r /home/backups_dispensa/data-nextcloud_$(date +%Y%m%d%H%M).zip /var/app
e ci copiamo pure tutti i dati del container, cioè proprio il software del nexcloud:
zip -r /home/backups_dispensa/volumes-nextcloud_$(date +%Y%m%d%H%M).zip /var/lib/docker/volumes/var_nextcloud/
Sempre dal docker-compose.yml vediamo che i file del database sono
db (/var/lib/docker/volumes/var_db):/var/lib/mysql
zip -r /home/backups_dispensa/volumes-db_$(date +%Y%m%d%H%M).zip /var/lib/docker/volumes/var_db
Scaricarsi tutti i file sul proprio pc facendo scp.
Per vedere
docker system df
## Backuppare il db in un altro modo (questo fuori dalla filosofia docker)
https://mariadb.com/kb/en/library/mysqldump/
mysql -u root -p
shell> show databases;
Così in realtà da fuori maria db gli puoi chiedere mysqldump -u root -p -x -A > /home/mariadb_backup-2019-08.sql
Se cerchi qualche cosa..
use nextcloudviola;
show table;
### utile per eseguire comandi da shell entro ad un container
docker -exec -ti 8685eace1ae4 /bin/bash
### ogni volta che si docker-compose down e up
C'è da ripristinare una configurazione di nginix
docker exec -ti nextcloud-proxy /bin/bash docker exec -ti nextcloud-proxy /bin/bash
poi da dentro al container da dentro al container
vi /etc/nginx/nginx.conf vi /etc/nginx/nginx.conf
Aggiungere la riga dentro a http {…} aggiungere la riga dentro a http {…}
client_max_body_size 20M; client_max_body_size 20M;
E dare un riavvio ad nginx riavviare ad nginx
nginx -s reload nginx -s reload
Fatto! ---
#### Togliere la modalità manutenzione
docker exec -u www-data nextcloud-app php occ maintenance:mode --off