snellisco la pagina di backup, riducendola ai soli comandi necessari
This commit is contained in:
parent
2d040ab06f
commit
820fabd51c
1 changed files with 36 additions and 94 deletions
|
@ -1,123 +1,65 @@
|
|||
---
|
||||
title: Backup del nextcloud dispensa
|
||||
title: Backup di nextcloud
|
||||
sidebar: mydoc_sidebar
|
||||
summary: "mettere la sicuro i dati della comunità di tanto in tanto"
|
||||
permalink: mydoc_backup.html
|
||||
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
|
||||
https://docs.docker.com/storage/volumes/
|
||||
To backup a Nextcloud installation there are four main things you need to retain:
|
||||
|
||||
* commit dei cointainer running
|
||||
* zip della cartella /var/app
|
||||
* zip dei volumi (?)
|
||||
* aggiornare
|
||||
* pulizia immagini e volumi
|
||||
The config folder
|
||||
The data folder
|
||||
The theme folder
|
||||
The database
|
||||
|
||||
### 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".
|
||||
In questo modo avremo una image, che con un secondo comando trasformeremo in un file zip o tar e quindi ce lo scaricheremo.
|
||||
scaricare il backup di config, data, themes, and custom-apps
|
||||
scp -P 2222 -r root@campiaperti.tetaneutral.net:/home/backups_dispensa/nextcloud-app_1.tar /home/$USER/
|
||||
|
||||
---
|
||||
|
||||
Es se vogliamo backuppare 8ce5000307c8 gli diremo:
|
||||
|
||||
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
|
||||
#### Ripristinare configurazione di nginix "client_max_body_size"
|
||||
|
||||
docker exec -ti nextcloud-proxy /bin/bash
|
||||
|
||||
poi da dentro al container
|
||||
da dentro al container
|
||||
|
||||
vi /etc/nginx/nginx.conf
|
||||
|
||||
Aggiungere la riga dentro a http {…}
|
||||
aggiungere la riga dentro a http {…}
|
||||
|
||||
client_max_body_size 20M;
|
||||
|
||||
E dare un riavvio ad nginx
|
||||
riavviare ad nginx
|
||||
|
||||
nginx -s reload
|
||||
|
||||
Fatto!
|
||||
---
|
||||
|
||||
#### Togliere la modalità manutenzione
|
||||
docker exec -u www-data nextcloud-app php occ maintenance:mode --off
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue