Jump to content

Super Lightweight and Simple MySQL Databse Backup System

Recommended Posts

Posted (edited)

A super simple and lightweight SQL Database Backup System.  
This auto backsup your database every 24 Hours or more. Can't go less.

Download (Code Here)

- NodeJS v12+  
- Understanding

- Download the Code. (can use git)  
- Go to the main directory of the code using your terminal/cmd. (Where index.js is)  

// run
$ node .
// or
$ node index

How to run this 24/7?
This will close when you close your terminal. I good way to keep this up without closing is using `pm2`.  
To install `pm2`, simply do the following.  

$ npm install pm2 -g
// or
$ yarn add pm2 -g

How would i run it?

$ pm2 start index.js

(Make sure you're in the main directory of the code. Where index.js is)  
That would make it run 24/7 even when closing the terminal/cmd.


  "mysql": {
    "username": "username",
    "password": "password",
    "host": "localhost",
    "port": 3306,
    "databases": [

  "backupInterval": 86400

config.mysql is where all your mysql data would be.  
*.username is what your mysql username is.  
*.password is the password for your mysql username.  
*.host is where the mysql server is hosted. or localhost for the same host or vps.  
*.databases[] an array of the name of the databases to backup.  

config.backupInterval is the amount of seconds to wait before creating a new backup. Default is 86400 (1 day).  
Take note that you can't go less than 86400.

How does this work?
I simply used child_process to create a new process and would run mysqldump to export Mysql databases.  
After exporting, the code closes the process of the ran command and then would wait for the interval to be finished, then repeat the process.

Edited by UniC
  • Upvote 2
  • MVP 1

Share this post

Link to post
Share on other sites
Posted (edited)

Why should one use this instead of cron (or Windows' Task Scheduler) for scheduling a backup?

Edited by Secrets

Share this post

Link to post
Share on other sites

The only advantage this has is the fact that it's simple to use, has an easy to setup config. But you need to install node.js
And this would also work for linux.

Share this post

Link to post
Share on other sites
7 hours ago, UniC said:

the fact that it's simple to use

But.. so is cron.. and you wouldn't need to install another package just to echo out the same code that you'd put into cron in the first place o.O

  • Upvote 1

Share this post

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.