cron-mysql-backup
v2.0.2
Published
Backup your mysql database on any interval
Downloads
169
Maintainers
Readme
Cron Mysql Backup
The cron-mysql-backup module allows you to automate mysql backups on regular intervals
Mysql dump files will be placed in a directory of your choice
You will get confirmation emails as often as you would like
Emails will get sent anytime something goes wrong (cannot connect to database etc.)
Backups will never fill the entire disk space. The oldest ones will be removed first
Getting Started
Install cron-mysql-backup using npm:
$ yarn add cron-mysql-backup
or
$ npm install --save cron-mysql-backup
You will need a sendgrid account to send emails from.
Usage
Import cron-mysql-backup and backup every hour on the hour:
const cronMysqlBackup = require('cron-mysql-backup');
let options = {
directory:'./dumps',
cronSchedule:" 0 * * * *",
connection:{
host: 'localhost',
user: 'make-a-read-only-user',
password: 'password',
database: 'database',
},
sendTo:'[email protected]', // Notifications will be sent to this address. This can also be an array of email addresses
sendFrom:'[email protected]',
sendGridApiKey:'sendGridApiKeyHere',
sendSuccessEmailAfterXBackups:10, //Send confirmation email after every 10 backups()
maxBackups: 7*24 // the maximum number of backups(a weeks worth of hourly backups)
};
cronMysqlBackup();
PM2
Use a process manager to restart your process if it ever fails https://www.npmjs.com/package/pm2
Cron Syntax
This is a quick reference to cron syntax and also shows the options supported by cron-mysql-backup.
Allowed fields
# ┌────────────── second (optional)
# │ ┌──────────── minute
# │ │ ┌────────── hour
# │ │ │ ┌──────── day of month
# │ │ │ │ ┌────── month
# │ │ │ │ │ ┌──── day of week
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *
Allowed values
| field | value | |--------------|---------------------| | second | 0-59 | | minute | 0-59 | | hour | 0-23 | | day of month | 1-31 | | month | 1-12 (or names) | | day of week | 0-7 (or names, 0 or 7 are sunday) |
More Examples At
https://www.npmjs.com/package/node-cron