#!/bin/bash set -e trap 'curl -d "🚨 [$d] Error en el proceso de backup formha (línea $LINENO)" ntfy.xala.dev/alerts' ERR # 1.- Establecer fecha para el nombre del archivo d=$(date +"%d.%m.%Y-%H.%M") # 2.- Establecer directorio de respaldo dir="/home/dix/backups-db" mkdir -p "$dir" { curl -H "X-Ttl: 604800" -d "🤖 [$d] Inicia el proceso de backup formha" ntfy.xala.dev/alerts # 3.- Borrar archivos antiguos if [ -n "$(ls -A "$dir")" ]; then rm -rfv "$dir"/* fi # 4.- Crear nuevo directorio de backup n_folder_backup="$dir/formha_backup_$d" mkdir -pv "$n_folder_backup" # 5.- Copiar archivos de uploads cp -rv "/var/www/formha/static/uploads/"* "$n_folder_backup" # 6.- Crear backup de la base de datos n_file_bu_sql="$n_folder_backup/db_formha_backup_$d.sql" # export PGPASSWORD='tu_contraseña' # si no usas .pgpass pg_dump -h 127.0.0.1 -U postgres -d formha -f "$n_file_bu_sql" # gzip -v "$n_file_bu_sql" # 7.- Enviar archivos a Google Drive # rclone copy "$dir" formha_db_backups:/formha-db-backups rclone copy "$dir" formha_db_backups:/formha-db-backups # 9.- Eliminar archivos locales rm -rfv "$dir"/* curl -H "X-Ttl: 604800" -d "✅ [$d] Backup formha finalizado correctamente" ntfy.xala.dev/alerts }