Browse Source

snellisco la pagina di backup, riducendola ai soli comandi necessari

blat 3 years ago
parent
commit
820fabd51c
1 changed files with 34 additions and 92 deletions
  1. 34 92
      pages/mydoc/mydoc_backup.md

+ 34 - 92
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
-    
-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.
-
-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
+backup di config, data, themes, and custom-apps
+    #zip -r /home/backups_dispensa/data-nextcloud_$(date +%Y%m%d%H%M).zip /var/app
 
-e quindi ora quel backup lo potremmo vedere come images
+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
 
-    docker images
+### 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/
     
-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
+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/
+  
+---
 
-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