transfer from private server/git server

This commit is contained in:
M1n-0
2026-08-21 09:12:02 +02:00
parent 45c8982178
commit 6ecb014238
75 changed files with 4344 additions and 274 deletions

30
scripts/backup.sh Normal file
View File

@@ -0,0 +1,30 @@
#!/usr/bin/env bash
# =============================================================================
# backup.sh — Sauvegarde automatisée de GestHub (Bloc 4 - C5).
#
# Réalise un dump MariaDB (mysqldump) et une archive tar des fichiers
# uploadés, horodatés, conservés localement. Prévu pour être planifié via
# cron (ex. `0 3 * * * /opt/gesthub/scripts/backup.sh`).
# =============================================================================
set -euo pipefail
BACKUP_DIR="${BACKUP_DIR:-/opt/gesthub/backups}"
TIMESTAMP="$(date +%Y%m%d-%H%M%S)"
DB_CONTAINER="${DB_CONTAINER:-gesthub-mariadb-1}"
DB_NAME="${DB_NAME:-gesthub}"
DB_USER="${DB_USER:-flaskuser}"
UPLOADS_VOLUME_PATH="${UPLOADS_VOLUME_PATH:-/var/lib/docker/volumes/gesthub_uploads_data/_data}"
mkdir -p "$BACKUP_DIR"
echo "[backup] Dump MariaDB -> ${BACKUP_DIR}/gesthub-${TIMESTAMP}.sql.gz"
docker exec "$DB_CONTAINER" mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" \
| gzip > "${BACKUP_DIR}/gesthub-${TIMESTAMP}.sql.gz"
echo "[backup] Archive des fichiers uploadés -> ${BACKUP_DIR}/uploads-${TIMESTAMP}.tar.gz"
tar -czf "${BACKUP_DIR}/uploads-${TIMESTAMP}.tar.gz" -C "$UPLOADS_VOLUME_PATH" .
echo "[backup] Purge des sauvegardes de plus de 30 jours"
find "$BACKUP_DIR" -type f -mtime +30 -delete
echo "[backup] Terminé : ${TIMESTAMP}"