diff --git a/docker/backup/Dockerfile b/docker/backup/Dockerfile index 8490ee9..3e6773a 100644 --- a/docker/backup/Dockerfile +++ b/docker/backup/Dockerfile @@ -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"] diff --git a/docker/backup/backup_db.sh b/docker/backup/backup_db.sh index f57491a..5cea399 100755 --- a/docker/backup/backup_db.sh +++ b/docker/backup/backup_db.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" diff --git a/docker/backup/entrypoint2.sh b/docker/backup/entrypoint2.sh index fa52e5b..5a8025f 100755 --- a/docker/backup/entrypoint2.sh +++ b/docker/backup/entrypoint2.sh @@ -1,2 +1,3 @@ #!/bin/sh -crond -f -l 2 +crond -f -l 8 + diff --git a/docker/backups/laravel-20260107_150035.sql b/docker/backups/07.sql similarity index 90% rename from docker/backups/laravel-20260107_150035.sql rename to docker/backups/07.sql index 128bf7b..219ad3e 100644 --- a/docker/backups/laravel-20260107_150035.sql +++ b/docker/backups/07.sql @@ -239,8 +239,8 @@ LOCK TABLES `sessions` WRITE; /*!40000 ALTER TABLE `sessions` DISABLE KEYS */; INSERT INTO `sessions` VALUES ('fOfGv56vGFKcMJg1VDjGMMrJEsrCmHWUuc1KR90q',1,'192.168.200.1','Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0','YTo0OntzOjY6Il90b2tlbiI7czo0MDoidEoyRHJsR2R2MHdIRGVvdXZwaTBsWUZxb1JPUGFBbHZZa1dYYkM5ayI7czo1MDoibG9naW5fd2ViXzU5YmEzNmFkZGMyYjJmOTQwMTU4MGYwMTRjN2Y1OGVhNGUzMDk4OWQiO2k6MTtzOjk6Il9wcmV2aW91cyI7YToyOntzOjM6InVybCI7czoyOToiaHR0cDovL2xvY2FsaG9zdC9hcGkvdXNlcnMvbWUiO3M6NToicm91dGUiO047fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fX0=',1767779264), -('p1pWhc47P1GPno5ysvg9BelhGsDfUEKEfYeVftGi',1,'192.168.200.1','Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0','YTo0OntzOjY6Il90b2tlbiI7czo0MDoiMXZQa2Y5ZXJWeW14WjhVSHFoRmc0UmRkWTBFc1h1bXpIREdsSXhhNyI7czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHA6Ly9sb2NhbGhvc3QvYXBpL3VzZXJzLzMiO3M6NToicm91dGUiO047fXM6NjoiX2ZsYXNoIjthOjI6e3M6Mzoib2xkIjthOjA6e31zOjM6Im5ldyI7YTowOnt9fXM6NTA6ImxvZ2luX3dlYl81OWJhMzZhZGRjMmIyZjk0MDE1ODBmMDE0YzdmNThlYTRlMzA5ODlkIjtpOjE7fQ==',1767793804), -('UohGNwK6dEqkqfRsteqqWYUFzI2dHrDTZPBIpOo3',1,'192.168.200.1','Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0','YTo0OntzOjY6Il90b2tlbiI7czo0MDoiYmNlb2JoTkRheDY0blRveXdEVjYxM25McEFNRmxGTXdVdjdCdFpabCI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHA6Ly9sb2NhbGhvc3QvYXBpL3VzZXJzLzMiO3M6NToicm91dGUiO047fXM6NTA6ImxvZ2luX3dlYl81OWJhMzZhZGRjMmIyZjk0MDE1ODBmMDE0YzdmNThlYTRlMzA5ODlkIjtpOjE7fQ==',1767785280); +('UohGNwK6dEqkqfRsteqqWYUFzI2dHrDTZPBIpOo3',1,'192.168.200.1','Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0','YTo0OntzOjY6Il90b2tlbiI7czo0MDoiYmNlb2JoTkRheDY0blRveXdEVjYxM25McEFNRmxGTXdVdjdCdFpabCI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6Mjg6Imh0dHA6Ly9sb2NhbGhvc3QvYXBpL3VzZXJzLzMiO3M6NToicm91dGUiO047fXM6NTA6ImxvZ2luX3dlYl81OWJhMzZhZGRjMmIyZjk0MDE1ODBmMDE0YzdmNThlYTRlMzA5ODlkIjtpOjE7fQ==',1767785280), +('x3RIOoCY2S7bcIzRxSNC0E8TL2O8J3ZvNu8CERSv',NULL,'192.168.200.1','Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0','YTozOntzOjY6Il90b2tlbiI7czo0MDoiSFBIc21Xa29QQmxiMzhWaE5GVlRqYTRmTlJoWEVlOEM4MTlGcU5KbyI7czo2OiJfZmxhc2giO2E6Mjp7czozOiJvbGQiO2E6MDp7fXM6MzoibmV3IjthOjA6e319czo5OiJfcHJldmlvdXMiO2E6Mjp7czozOiJ1cmwiO3M6MzY6Imh0dHA6Ly9sb2NhbGhvc3Qvc2FuY3R1bS9jc3JmLWNvb2tpZSI7czo1OiJyb3V0ZSI7czoxOToic2FuY3R1bS5jc3JmLWNvb2tpZSI7fX0=',1767798400); /*!40000 ALTER TABLE `sessions` ENABLE KEYS */; UNLOCK TABLES; @@ -329,7 +329,7 @@ CREATE TABLE `users` ( `remember_token` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `users_email_unique` (`email`) -) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; /*!40101 SET character_set_client = @saved_cs_client */; -- @@ -339,9 +339,11 @@ CREATE TABLE `users` ( LOCK TABLES `users` WRITE; /*!40000 ALTER TABLE `users` DISABLE KEYS */; INSERT INTO `users` VALUES -(1,'Malo','Leblond','a@gmail.com','$2y$12$xbPw0/LtE7w8uzkk/EHxPey0vD8IrgqCwUxl8hYqGDbmrQp5dzF86','+33 7 67 87 11 11',1,NULL,NULL,'2026-01-05 08:35:22','2026-01-05 08:35:22','TBMWeU9KIGAgB8NeIkH205yzYB2BsNeVHTIiVxWAyKFreThffIV3bx08r7zb'), -(2,'user2','user','b@gmail.com','$2y$12$pg2rdRW3gTw7BMC0l/PVIud719YTuspoGapfNNWmOx1JXb7sVbitq','+33 7 55 55 55 55',0,NULL,NULL,'2026-01-05 10:00:58','2026-01-05 10:00:58',NULL), -(3,'user3','user','lejhkdks@gmail.com','$2y$12$4Qt3VW147P.BiFW3qToCU.hpnRGo/KMhv2wKh4OZwhqeAZK0K1N2y','+33 7 88 88 88 88',0,NULL,NULL,'2026-01-05 10:01:38','2026-01-05 10:01:38',NULL); +(1,'Malo','Leblond','a@gmail.com','$2y$12$xbPw0/LtE7w8uzkk/EHxPey0vD8IrgqCwUxl8hYqGDbmrQp5dzF86','+33 7 67 87 11 11',1,NULL,NULL,'2026-01-05 08:35:22','2026-01-05 08:35:22','FsnEvcbRjNXNd2W0JhD535V6OIJKWl6WWHgfNAjwDvwrNKzSX5Wzv5h5J5nq'), +(2,'user2','user','b@gmail.com','$2y$12$pg2rdRW3gTw7BMC0l/PVIud719YTuspoGapfNNWmOx1JXb7sVbitq','+33 7 55 55 55 55',1,NULL,NULL,'2026-01-05 10:00:58','2026-01-05 10:00:58',NULL), +(3,'user3','user','lejhkdks@gmail.com','$2y$12$4Qt3VW147P.BiFW3qToCU.hpnRGo/KMhv2wKh4OZwhqeAZK0K1N2y','+33 7 88 88 88 88',1,NULL,NULL,'2026-01-05 10:01:38','2026-01-05 10:01:38',NULL), +(4,'compte1','sjs','1@gmail.com','$2y$12$ct4u8kOHqKg9ona.KzrjLuHFZfgkSsG3xQPFkAjoLnBy9hoUa/U4O','+33 9 88 88 88 88',1,NULL,NULL,'2026-01-07 15:06:07','2026-01-07 15:06:07',NULL), +(5,'compte2','sknssk','2@gmail.com','$2y$12$CsTLO8A0a4nRaiRBNEOn5O5gLas3ortE.zkT/91XX5OjIp.tKBa6q','+33 855 55 55 55',1,NULL,NULL,'2026-01-07 15:06:41','2026-01-07 15:06:41',NULL); /*!40000 ALTER TABLE `users` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; @@ -354,4 +356,4 @@ UNLOCK TABLES; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*M!100616 SET NOTE_VERBOSITY=@OLD_NOTE_VERBOSITY */; --- Dump completed on 2026-01-07 15:00:35 +-- Dump completed on 2026-01-07 15:23:54