UNPKG

cron-mysql-backup

Version:
90 lines (63 loc) 2.46 kB
# 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: ```console $ 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: ```javascript 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:'test@test.com', // Notifications will be sent to this address. This can also be an array of email addresses sendFrom:'create-an-email@gmail.com', 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