Nettoyage des backups
This commit is contained in:
@@ -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"]
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
#!/bin/sh
|
||||
crond -f -l 2
|
||||
crond -f -l 8
|
||||
|
||||
|
||||
Reference in New Issue
Block a user