Restic: Uso de etiquetas
— Carlos M.Esta es una publicación de la serie “restic”
2019-12-19 | Restic: Uso de etiquetas |
2019-12-12 | Restic: Backups en Google Drive vía RClone |
2019-12-05 | Restic: Automatiza tus backups con restic y systemd |
2019-11-28 | Restic: Backups bien hechos |
Cuando comencé a usar restic no conocía lo suficiente sobre el
parámetro tag
y lo importante que se vuelve cuando utilizas
políticas de retención de tus copias de seguridad.
Empecé a trabajar con varios dispositivos sobre un mismo repositorio,
y para rotar las instantáneas lo hacia en función a la etiqueta Host
que se aplica a cada dispositivo, en función a su hostbane
, así por
ejemplo, a mi portátil se le aplica la etiquete Hosts
asus
restic -r sftp:carlos@192.168.2.3:/mnt/backup/restic-repo snapshots
enter password for repository:
repository 7de6b43c opened successfully, password is correct
ID Time Host Tags Paths
-------------------------------------------------------------------------------------
9863a3d6 2019-11-11 00:31:53 asus /etc/fstab
/home/carlos
-------------------------------------------------------------------------------------
Cada hora ejecuto restic mediante systemd para hacer una instantánea del estado de ciertas carpetas del ordenador portátil
restic -r sftp:carlos@192.168.2.3:/mnt/backup/restic-repo backup --verbose --files-from files_to_backup.txt --exclude-file restic_exclude.txt
Y utilizaba la etiqueta Host
para rotar las copias, y dejar solo las dos ultimas horas
restic forget --verbose --host asus --group-by "paths,tags,host" --keep-hourly 2
Trabajando con tags #
El problema aparece si yo quiero realizar varias instantáneas del
portátil, por ejemplo, una instantánea para los archivos personales y
otra instantánea para los del trabajo, de la instantánea del trabajo
quiero mantener 10 copias diarias y de la personal solo las dos
ultimas horas, si utilizo la etiqueta hosts
para rotar las
instantáneas, no diferencia que instantánea debe de borrar, ya que las
dos pertenecen al mismo host
.
La solución pasa por aplicar etiquetas, tags
, para la instantánea
con los ficheros personales
restic -r sftp:carlos@192.168.2.3:/mnt/backup/restic-repo backup --tag personal --verbose --files-from files_to_backup.txt --exclude-file restic_exclude.txt
Y para la del trabajo
restic -r sftp:carlos@192.168.2.3:/mnt/backup/restic-repo backup --tag trabajo --verbose --files-from files_to_backup.txt --exclude-file restic_exclude.txt
Para mantener las dos ultimas horas de la instantánea personal
ExecStartPost=restic forget --verbose --host asus --tag personal --group-by "paths,tags,host" --keep-daily 2
Y para la del trabajo
ExecStartPost=restic forget --verbose --host asus --tag trabajo --group-by "paths,tags,host" --keep-daily 10
Manipulando tags #
Una vez vista su utilidad, vamos a ver como manipular las etiquetas,
puedes obtener la ayuda sobre tags
restic tag --help
En el ejemplo vemos que tenemos una instantánea con ID 9f1a0de0
y
con las etiquetas systemd.timer
y rock64pro
restic -r rclone:gdrive_md:/Backups snapshots --password-file ~/bin/.restic
repository 43391152 opened successfully, password is correct
ID Time Host Tags Paths
------------------------------------------------------------------------------------------------
9f1a0de0 2019-11-12 11:35:18 rock64pro systemd.timer,rock64pro /mnt/datos/Docker
/mnt/datos/Media
/home/carlos/.config/rclone
/home/carlos/.config/systemd
/home/carlos
/mnt/Datos
------------------------------------------------------------------------------------------------
1 snapshots
Eliminar #
Vamos a eliminar la etiqueta rock64pro, para ello utilizamos el
comando tag --remove etiqueta ID
restic -r rclone:gdrive_md:/Backups tag --remove rock64pro 9f1a0de0 -p ~/bin/.restic
repository 43391152 opened successfully, password is correct
create exclusive lock for repository
modified tags on 1 snapshots
El resultado
restic -r rclone:gdrive_md:/Backups snapshots --password-file ~/bin/.restic
repository 43391152 opened successfully, password is correct
ID Time Host Tags Paths
--------------------------------------------------------------------------------------
6e7312ba 2019-11-12 11:35:18 rockpro64 systemd.timer /mnt/datos/Docker
/mnt/datos/Media
/home/carlos/.config/rclone
/home/carlos/.config/systemd
/home/carlos
/mnt/Datos
--------------------------------------------------------------------------------------
1 snapshots
Es importante resaltar que con cada cambia de etiqueta en la instantánea, también cambia su ID.
Añadir #
Para añadir una nueva etiqueta utilizamos el comando tag --add etiqueta ID
restic -r rclone:gdrive_md:/Backups tag --add prueba1 6e7312ba --password-file ~/bin/.restic
repository 43391152 opened successfully, password is correct
create exclusive lock for repository
modified tags on 1 snapshots
restic -r rclone:gdrive_md:/Backups snapshots --password-file ~/bin/.restic
repository 43391152 opened successfully, password is correct
ID Time Host Tags Paths
----------------------------------------------------------------------------------------------
7afaffef 2019-11-12 11:35:18 rockpro64 systemd.timer,prueba1 /mnt/datos/Docker
/mnt/datos/Media
/home/carlos/.config/rclone
/home/carlos/.config/systemd
/home/carlos
/mnt/Datos
----------------------------------------------------------------------------------------------
1 snapshots
Sustituir #
Podemos sustituir el valor de una o varias etiquetas con tag --set etiqueta ID
restic -r rclone:gdrive_md:/Backups tag --set prueba2 --set prueba3 8ffba754 --password-file ~/bin/.restic
repository 43391152 opened successfully, password is correct
create exclusive lock for repository
modified tags on 1 snapshots
restic -r rclone:gdrive_md:/Backups snapshots --password-file ~/bin/.restic
repository 43391152 opened successfully, password is correct
ID Time Host Tags Paths
----------------------------------------------------------------------------------------
ba00b2a4 2019-11-12 11:35:18 rockpro64 prueba2,prueba3 /mnt/datos/Docker
/mnt/datos/Media
/home/carlos/.config/rclone
/home/carlos/.config/systemd
/home/carlos
/mnt/Datos
----------------------------------------------------------------------------------------
1 snapshots
Resumen #
En resumen, agregar etiquetas nos permite agrupar varias copias de seguridad, facilitando el trabajo para rotar, borrar o buscar instantáneas.
Espero que te haya gustado, pasa un buen día… 🐧