---
title: Backup del nextcloud dispensa
sidebar: mydoc_sidebar
summary: "mettere la sicuro i dati della comunità di tanto in tanto"
permalink: mydoc_backup.html
folder: mydoc
---


https://docs.docker.com/storage/volumes/#backup-restore-or-migrate-data-volumes
https://docs.docker.com/storage/volumes/

## scegliere i container

    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 8ce5000307c8 nextcloud-app_bakup$(date +%Y%m%d%H%M)_1

e quindi ora quel backup lo potremmo vedere come images

    docker images
    
Farlo 4 volte per i nostri 4 container!
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.


##  Backuppare il db in un altro modo  (pure 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;

## backup in un altro modo.. come docker vorrebbe!

https://www.teosoft.it/post/2019-02-18-nextcloud-docker-backup-and-update/

	docker-compose down

.. ed altre cose che proviamo il prossimo incontro... settembre 2019

### utile per eseguire comandi da shell entro ad un container

docker -exec -ti 8685eace1ae4 /bin/bash


{% include links.html %}
