From 820fabd51c66905cba927be0927cc272f5aab339 Mon Sep 17 00:00:00 2001 From: blat Date: Thu, 4 Mar 2021 23:56:46 +0100 Subject: [PATCH] snellisco la pagina di backup, riducendola ai soli comandi necessari --- pages/mydoc/mydoc_backup.md | 130 ++++++++++-------------------------- 1 file changed, 36 insertions(+), 94 deletions(-) diff --git a/pages/mydoc/mydoc_backup.md b/pages/mydoc/mydoc_backup.md index f388619..2db549b 100644 --- a/pages/mydoc/mydoc_backup.md +++ b/pages/mydoc/mydoc_backup.md @@ -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