使用semelize and Express设置DonnéeES数据库的自动备份系统。
- 安装荷兰模块:
npm install sequelize sequelize-cli mysql2
- 在您的应用程序的根部创建一个“备份”文件夹,和fchier server.js
判决一个函数,该函数将在您的“ 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
在此示例中,我们使用node.js spawn()函数将备份过程免除数据数据库,并将sultat存储在文件.sql中。
请注意,我们每天使用时间间隔来施加一次备份。您可以根据需要进行调整。
- 启动您的应用程序:
node server.js
- 清除应用程序根部“备份”文件夹中的备份文件。
这是一个简单的示例 âbient´t,Cedric Karungu