Script de respaldo de Kimai usando bup

Este script ha sido reemplazado por el script de respaldo restic para Kimai.

Aunque puedes usarlo, ya no lo recomiendo, ya que restic es mucho más fácil de usar y tiene muchas más características.

Ver Cómo configurar bup-server en Synology NAS usando docker para la configuración del lado del servidor.

kimai_bup_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

bup_directory() {
        echo "BUPing $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 MariaDB
source .env && docker-compose exec -T mariadb mysqldump -uroot -p${MARIADB_ROOT_PASSWORD} --all-databases | bup -d $BUP_DIR split -r $BUP_REMOTE -n $NAME-mariadb.sql
# Respaldar a sí mismo
bup_directory backup.sh
bup_directory docker-compose.yml
# OPCIONAL: Añadir información par2
#   Esto solo se recomienda para respaldo en almacenamiento no fiable o para respaldos extremadamente críticos
#   Si ya tienes protección contra bitrot (como BTRFS con scrubbing regular), esto podría ser excesivo.
# Descomenta esta línea para habilitar:
# bup fsck -g

# bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR fsck -g

# OPCIONAL: Limpiar respaldos antiguos
bup on $REMOTE_SERVER -d $REMOTE_BUP_DIR prune-older --keep-all-for 1m --keep-dailies-for 6m --keep-monthlies-for forever -9 --unsafe

Echa un vistazo a artículos similares por categoría: Bup