====== Backup Database ====== Je teste actuellement une application pour gérer le backup de divers base de données ===== Databasus ===== https://github.com/databasus/databasus Développé en Go Interface un peu vieillote, n'est pas très optimisé et pas très propre dans le code. Un fichier .env à la racine du système ''/.env'', 2.6Go de données dans le /home/user/go ===== DBackup ===== https://github.com/Skyfay/DBackup Développé en TypeScript Pour l'instant, pas d'agent, pas de tunnel ssh possible. Mais ça fonctionne sur ma vieille debian. Le développeur est actif, les backups sont accessible facilement. Sur les 3 applis testé, je valide. ===== Databasement ===== https://github.com/David-Crty/databasement Développé en laravel Galère pour configurer le ssh vers une vieille debian. Après avoir configurer un .ssh/config dans les container ''databasement'' et ''databasement-worker'' et ajouté les clés à la main Le ''PUID'' et ''PGID'' du .env n'est pas pris en compte dans le ''databasement-worker'', obligé de modifier la command de lancement services: app: image: davidcrty/databasement:1 container_name: databasement restart: unless-stopped ports: - "2226:2226" env_file: .env volumes: - ./data:/data - ./backups:/backups - ./ssh_config:/home/application/.ssh healthcheck: test: ["CMD", "curl", "-f", "http://localhost:2226/health"] interval: 10s timeout: 5s retries: 5 worker: image: davidcrty/databasement:1 container_name: databasement-worker restart: unless-stopped command: sh -c "groupmod -o -g 1001 application && usermod -o -u 1001 application && php artisan db:wait --check-migrations && php artisan queue:work --queue=backups,default --tries=3 --timeout=3600 --sleep=3 --max-jobs=1000" env_file: .env volumes: - ./data:/data - ./ssh_config:/home/application/.ssh depends_on: app: condition: service_healthy Une fois cette étape fastidieuse réussi, le ''mariadb-dump'' ne fonctionne pas, car j'ai du mysql. Dommage d'écrire en gros "Mysql/Mariadb". Contrairement à **DBackup** qui lui fait bien la distinction entre mysql et mariadb et qui fonctionne sur ma vieille debian. Databasement intègre un agent, mais c'est dommage qu'il faille installer docker pour le faire fonctionner. Surtout que pour lancer l'agent, le container télécharge toute l'application juste pour exécuter l'agent. Il faudrait un agent executable autonome.