- Publicado en
- • Linux Cmds
Restic: Configuraciones y scripts
- Autor
-
-
- Usuario
- tinux
- Publicaciones de este autor
- Publicaciones de este autor
-
Restic
- Crear calendario de snapshots a guardar, diario [7], semanal [3] , mensual [1] y anual [1].
- Crear estructura para excluir archivos y/o directorios.
- Crear estructura para incluir archivos y/o directorios.
- Crear metodo, para que sftp se pueda autentificar con llave ( keys rsa o ed25529).
- Crear menus para aceptar crear el backup de restic.
- Generar archivo para tratamiento posterior con restic.
Nota: muy importante es el orden de las ordenes, y opciones
Politica de Retencion o Calendarios de Snapshots
# backup.sh
DIA_SEMANA=$(date +%u) # 1=lunes, 7=domingo
DIA_MES=$(date +%d)
MES=$(date +%m)
TAGS="diario"
# Semanal: cada domingo
if [[ $DIA_SEMANA -eq 7 ]]; then
TAGS="$TAGS,semanal"
fi
# Mensual: primer día del mes
if [[ $DIA_MES -eq 1 ]]; then
TAGS="$TAGS,mensual"
fi
# Semestral: 1 de enero y 1 de julio
if [[ $MES == "01" && $DIA_MES == "01" ]]; then
TAGS="$TAGS,semestral,anual"
elif [[ $MES == "07" && $DIA_MES == "01" ]]; then
TAGS="$TAGS,semestral"
fi
restic -r "$REPO" backup --tag "$TAGS" /ruta/a/respaldo
# Ahora forget con agrupación por tags
restic -r "$REPO" forget \
--group-by tags \
--keep-tag diario --keep-last 5 \
--keep-tag semanal --keep-last 3 \
--keep-tag mensual --keep-last 1 \
--keep-tag semestral --keep-last 4 \
--keep-tag anual --keep-last 1 \
--prune
Filtros para Inclusion de Archivos
Incluir archivos segun que patron , no es sencillo en restic. Al final, he llegado a la conclusion de utilizar la herramienta externa find para que me cree los la ruta absoluta para copiar.
Ejemplo que funciona:
Hay que crear un archivo como .include_images utilizando este codigo con find
find . -type f \( -iname "*.jpg" -o -iname "*.png" -o -iname "*.gif" -o -iname "*.tiff" -o -iname "*.bmp" \) -print > .include_images
y asi en el Shell:
restic backup -r /mnt/restic-backup/testing.took.tinux.net --files-from .include_images