Instantáneas
Cada repositorio almacena instantáneas (snapshots) que son copias de seguridad de una o varias carpetas o un vólumen que reflejan su contenido en un determinado momento.
Listar instantáneas
En el Panel de control, para listar las instántaneas de un repositorio necesitas abrirlo introduciendo su contraseña en el menú Repos
.
Cada instantánea está identificada por un ID
y está etiquetada con el tipo de copia de seguridad que contiene y que puede ser: MySQL
, PostgreSQL
, BTRFS
, ZFS
o Docker
.
A la derecha de cada instantánea encontrarás una botonera que permite ejecutar acciones sobre la misma:
- Eliminar una instantánea.
- Descargar el contenido de una instantánea comprimido en zip.
- Restaurar una instantánea en un dispositivo conectado.
Línea de comandos
Para listar los snapshots disponibles de un determinado repositorio usa la opción snapshots
de donbackup:
$ donbackup \
--config /root/.donbackup/config.yml \
--reponame example \
snapshots
repository ad2bfe16 opened successfully, password is correct
ID Time Host Tags Paths
-----------------------------------------------------------------------------------
28474dd6 2021-05-19 04:00:02 example /mnt/btrfs
de7feab1 2021-05-20 04:00:01 example /mnt/btrfs
c713e3ea 2021-05-21 04:00:01 example /mnt/btrfs
55504f6d 2021-05-22 04:00:01 example /mnt/btrfs
-----------------------------------------------------------------------------------
Puedes listar los ficheros de una instántanea con el comando ls
$ donbackup \
--config /root/.donbackup/config.yml \
--reponame example \
ls 55504f6d
Eliminar una instantánea
Para eliminar una instantánea pulsa en el botón Eliminar
🗑
correspondiente a la instantánea que quieres eliminar.
Línea de comandos
Para eliminar una instantánea necesitas conocer el ID de la copia de seguridad que puedes obtener con el comando snapshots
de donbackup.
$ donbackup \
--config .donbackup/config.yml \
--reponame example \
snapshots
repository 11b3bc71 opened successfully, password is correct
ID Time Host Tags Paths
-----------------------------------------------------------------------------------------
5ded5cb3 2020-12-12 04:00:01 example mysql db.sql
a4e5d9e3 2021-01-31 03:00:01 example mysql db.sql
abe7b153 2021-02-26 03:00:01 example mysql db.sql
0c7b97a9 2021-03-27 03:00:02 example mysql db.sql
-----------------------------------------------------------------------------------------
Y para eliminar una instántanea por ID utiliza el comando forget
:
$ donbackup \
--config .donbackup/config.yml \
--reponame example \
forget f80cb090
repository 11b3bc71 opened successfully, password is correct
removed snapshot f80cb090
El comando forget
elimina las referencias a los Blobs de datos, sin embargo no los elimina del repositorio. Para liberar el espacio ejecutarás el comando prune
. Considera que en el caso de repositorios cuya información cambia con mucha frecuencia el comando prune
hará un uso intensivo de CPU en el dispositivo por lo conviene ejecutarlo de forma planificada.
$ donbackup \
--config .donbackup/config.yml \
--reponame example \
prune
repository 11b3bc71 opened successfully, password is correct
counting files in repo
building new index for repo
[0:35] 100.00% 2038 / 2038 packs
repository contains 2038 packs (46242 blobs) with 8.814 GiB
processed 46242 blobs: 0 duplicate blobs, 0 B duplicate
load all snapshots
find data that is still in use for 31 snapshots
[0:03] 100.00% 31 / 31 snapshots
found 46023 of 46242 data blobs still in use, removing 219 blobs
will remove 0 invalid files
will delete 87 packs and rewrite 14 packs, this frees 291.768 MiB
[0:00] 100.00% 14 / 14 packs rewritten
counting files in repo
[0:05] 100.00% 1939 / 1939 packs
finding old index files
saved new indexes as [92b9e2b3]
remove 41 old index files
[0:01] 100.00% 101 / 101 packs deleted
done
Es posible ejecutar los comandos forget
y prune
de forma conjunta:
$ donbackup \
--config .donbackup/config.yml \
--reponame example \
forget f80cb090 --prune
Eliminar instantáneas en base a una política
Dentro del panel del repositorio pulsa el icono Limpiar
🗑
. Puedes eliminar instantáneas del repositorio en base a una política de retención: manteniendo n copias diarias, semanales y mensuales.
El proceso compacta el repositorio y libera el espacio ocupado por las instantáneas y al finalizar recibirás un correo informativo con el resultado de la operación.
Línea de comandos
$ donbackup \
--config .donbackup/config.yml \
--reponame example \
forget \
--keep-daily 7 \
--keep-weekly 5 \
--keep-monthly 12
repository 11b3bc71 opened successfully, password is correct
Applying Policy: keep the last 7 daily, 5 weekly, 12 monthly snapshots
Tras eliminar las instantáneas es necesario liberar el espacio compactando el repositorio utilizando el comando prune
.
$ donbackup \
--config .donbackup/config.yml \
--reponame example \
prune
Descargar en tar
Para generar un enlace de descarga de una instantánea pulsa en el botón Descargar
que aparece en la parte derecha de la instantánea.
El tiempo que tardará Donbackup en generar el enlace dependerá del tamaño de la copia de seguridad. Al finalizar, recibirás un correo electrónico con un enlace de descarga y el Panel de control te indicará que la descarga está disponible con una flecha verde: