Comment faire un système de backup de sa base des données avec sequelize et express.js
Cédric Karungu
Posted on May 30, 2023
Pour mettre en place un système de sauvegarde automatique de la base de données avec Sequelize et Express.js, vous pouvez suivre les étapes suivantes:
- Installez les modules nécessaires:
npm install sequelize sequelize-cli mysql2
- Créez un dossier "backups" à la racine de votre application, et un fchier server.js
Définissez une fonction qui exécutera la sauvegarde dans votre fichier "server.js" :
const Sequelize = require('sequelize');
const spawn = require('child_process').spawn;
const sequelize = new Sequelize('example_db', 'root', '', {
host: 'localhost',
dialect: 'mysql',
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
}
});
function backup() {
const fileName = `backup-${Date.now()}.sql`;
const mysqldump = spawn(`mysqldump`, [
` - user=${process.env.DB_USER}`,
` - password=${process.env.DB_PASSWORD}`,
` - host=${process.env.DB_HOST}`,
process.env.DB_NAME
]);
mysqldump.stdout.pipe(fs.createWriteStream(`./backups/${fileName}`));
mysqldump.on('exit', () => {
console.log(`Backup saved at ./backups/${fileName}`);
});
}
setInterval(backup, 86400000); // sauvegarder une fois par jour
Dans cet exemple, nous avons utilisé la fonction spawn() de Node.js pour exécuter le processus de sauvegarde de la base de données et stocker le résultat dans un fichier .sql.
Notez également que nous avons utilisé un intervalle de temps pour exécuter la sauvegarde une fois par jour. Vous pouvez ajuster cela en fonction de vos besoins.
- Lancez votre application :
node server.js
- Vérifiez les fichiers de sauvegarde dans le dossier "backups" à la racine de votre application.
Ceci est un exemple simple de la mise en place d'un système de sauvegarde automatique de la base des données avec Sequelize et Express.js.
À bientôt, Cedric karungu
Posted on May 30, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
May 30, 2023