DataHoard has been create for the sole reason of taking care of automatic mysql database backups. This supports mailing for keeping track of
This repository has been archived on 2024-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Daniel Legt db35be9517 + Added docker support to the to-do list 2021-08-21 17:52:06 +03:00
.vscode + Implemented the WorkerClass 2021-08-21 17:50:54 +03:00
dist + File Structure 2021-08-21 00:43:00 +03:00
src + Implemented the WorkerClass 2021-08-21 17:50:54 +03:00
.gitignore + Some progress added. 2021-08-21 00:56:51 +03:00
Dockerfile + DockerFile temporary updates, this is definitely not final. 2021-08-21 02:01:21 +03:00
LICENSE Initial commit 2021-08-21 00:11:21 +03:00
README.md + Added docker support to the to-do list 2021-08-21 17:52:06 +03:00
config.example.json + Configuration file is fully loaded now 2021-08-21 16:11:09 +03:00
package.json + Configuration file is fully loaded now 2021-08-21 16:11:09 +03:00
tsconfig.json + Implemented the WorkerClass 2021-08-21 17:50:54 +03:00

README.md

DataHoard

About

DataHoard has been create for the sole reason of taking care of automatic mysql database backups. This supports mailing for logging what is happening to the databases, future plans include supporting different services for updating the status of the databases, such as Discord, Telegram, Slack and more.

Features

  • Database Exporting
  • Log all errors to a final log
  • Email the log through email
  • Discord WebHook
  • Telegram Hook
  • Docker Support

How to Use

  1. Setup the configuration file which is This file and rename it into config.json instead of config.example.json.
  2. Run the server by using the npm start command, this will start to run the program.
  3. This does not run as a service and should be activated by a cron task, or on windows a scheduler task, this is completely up to you how you setup.

Example Config File:

{
    "options": {
        "parallel_nodes": 2, // Run two database backups at a time
        "parallel_node_tasks": 5, // Run 5 dumps at a time ( basically how many databases at once )
        "separate_into_tables": false // Separate all of the different tables into separate files
    },

    "smtp": {
        "host": "",
        "port": "",
        "ssl":  true,
        "username": "",
        "password": "",
        "email_from": ""
    },

    "nodes": [
        {
            "name":  "Main Connection",
            "debug": 0,
            "log":   true,
            "mail": {
                "enabled": true,
                "email_to": "main@example.com",
                "email_cc": [
                    "first@example.com"
                ]
            },

            "hostname": "localhost",
            "username": "root",
            "password": "",
            "databases": {
                // These two(2) can also be defined as Array<string> for filtering.
                "blacklist": ["mysql", "database_statistics", "not_important"],
                "whitelist": null
            }
        }
    ]
}



Icons made by Smashicons from www.flaticon.com