InvenTree script de copia de seguridad basado en bup
Nota: He reemplazado la copia de seguridad basada en bup con restic.
Instala usando Cómo crear un timer y servicio de copia de seguridad systemd en 10 segundos
Coloca este archivo en el mismo directorio que tu archivo docker-compose.yml y hazlo ejecutable.
backup.sh
#!/bin/bash
export NAME=$(basename $(pwd))
export BUP_DIR=/var/bup/$NAME.bup
export REMOTE_BUP_DIR=/bup-backups/$NAME.bup
export REMOTE_SERVER=10.1.2.3
export BUP_REMOTE=$REMOTE_SERVER:$REMOTE_BUP_DIR
# Crear archivos de copia de seguridad
docker-compose run inventree-server invoke backup
bup_directory() {
echo "Haciendo BUP de $1"
bup -d $BUP_DIR index $1 && bup -d $BUP_DIR save -r $BUP_REMOTE -9 --strip-path $(pwd) -n $1 $1
}
# Inicializar
#bup -d $BUP_DIR init -r $BUP_REMOTE
# Guardar PostgreSQL
#docker-compose exec -u gitlab-psql gitlab pg_dump -h /var/opt/gitlab/postgresql/ -d gitlabhq_production | bup -d $BUP_DIR split -r $BUP_REMOTE -n $NAME-pgdump.sql
# Guardar directorios
bup_directory config
bup_directory data
# Copia de seguridad de sí mismo
bup_directory backup.sh
bup_directory docker-compose.yml
# OPCIONAL: Añadir información par2
# Esto solo se recomienda para copias de seguridad en almacenamiento no confiable o para copias de seguridad extremadamente críticas
# Si ya tienes protección contra bitrot (como BTRFS con scrubbing regular), esto podría ser excesivo.
# Descomenta esta línea para habilitarlo:
# bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR fsck -g
# OPCIONAL: Limpiar copias de seguridad antiguas
bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR prune-older --keep-all-for 1m --keep-dailies-for 6m --keep-monthlies-for forever -9 --unsafeEcha un vistazo a artículos similares por categoría:
Backup
Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow