Nettoyage des backups

This commit is contained in:
p2405951
2026-01-07 16:30:33 +01:00
parent 3451f75b37
commit f066aa88f0
4 changed files with 28 additions and 20 deletions
+9 -4
View File
@@ -5,13 +5,18 @@ RUN apk add --no-cache mariadb-client bash dcron
# Créer les répertoires nécessaires
RUN mkdir -p /backups \
&& mkdir -p /etc/periodic/15min
&& mkdir -p /etc/periodic/daily
# Copier le script de sauvegarde
COPY backup/backup_db.sh /etc/periodic/15min/backup_db
COPY backup/backup_db.sh /etc/periodic/daily/backup_db
# Copier le BON entrypoint (dans backup/)
# Copier le script d'entrypoint
COPY backup/entrypoint2.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
# Donner les permissions d'exécution
RUN chmod +x /etc/periodic/daily/backup_db \
&& chmod +x /entrypoint.sh
# Lancer cron
ENTRYPOINT ["/entrypoint.sh"]
+8 -8
View File
@@ -1,20 +1,20 @@
#!/bin/bash
# Configuration
# Config
DB_USER="root"
DB_PASS="root"
DB_NAME="laravel"
BACKUP_DIR="/backups"
DATE=$(date +"%Y%m%d_%H%M%S")
# Créer le répertoire de sauvegarde s'il n'existe pas
# Créer le répertoire de backup s'il n'existe pas
mkdir -p "$BACKUP_DIR"
# Exécuter la sauvegarde
mysqldump -h mariadb -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/$DB_NAME-$DATE.sql"
# Nom du fichier : "jour du mois" (01.sql à 30.sql)
DAY=$(date +%d) # jour actuel 01-31
FILE="$BACKUP_DIR/$DAY.sql"
# Supprimer les sauvegardes de plus de 7 jours
find "$BACKUP_DIR" -name "$DB_NAME-*.sql" -type f -mtime +7 -delete
# Exécuter le dump
mysqldump -h mariadb -u "$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$FILE"
# Log
echo "Sauvegarde de $DB_NAME effectuée le $(date)" >> "$BACKUP_DIR/backup.log"
echo "[$(date)] Backup $DB_NAME sauvegardé dans $FILE" >> "$BACKUP_DIR/backup.log"
+2 -1
View File
@@ -1,2 +1,3 @@
#!/bin/sh
crond -f -l 2
crond -f -l 8