knorke
v1.0.2
Published
A simple script for backing up a MongoDB and/or Mysql database to a Samba share
Downloads
8
Readme
knorke
A simple script for backing up a MongoDB and/or Mysql database to a Samba share. Uses the system's mongodump
, mysqldump
and smbclient
binaries.
For proper ways to handle backups of production systems please read the MongoDB and MySQL documentation.
Configuration
This script uses node-config for configuration. A full config may look like this:
{
"binaries": {
// Path to the binaries to execute (use null for autodetection)
"mongo": "/Users/peter/mongodb/mongodb-osx-x86_64-3.2.1/bin",
"mongodump": "/Users/peter/mongodb/mongodb-osx-x86_64-3.2.1/bin",
"mysqldump": null,
"smbclient": null
},
"samba": {
"service": "\\\\\\\\MyServer\\\\myshare",
"workgroup": "acme.corp",
"directory": "my_dir/foo",
"username": "peter",
"password": "gr1ff1n"
},
"mongo": {
"username": null,
"password": null,
"host": "localhost",
"port": 27017,
"ignore": ["test", "prod_old"]
},
"mysql": {
"username": "root",
"password": null,
"host": "localhost",
"port": 3306
}
}
Usage
Run the script with --help
to het a list of available options:
If you run into errors crank up the verbosity and check the actual command lines run by the script (--verbose --verbose --error-details
).
Caveats
- Most config options are used verbatim when executing shell commands. Do not pass unsanitized user input to this script. You have been warned!
- Careful: debugging output may contain passwords.
- Intended use is for a single-instance MongoDB. Running the script against a cluster is probably not going to work.
Gotchas
- Remember to enable the
--harmony-destructuring
V8-flag. - SMB upload requires
smbclient
, so good luck using it on OS X. - The Samba service config option must use an obscene amount of backslashes, e.g.
"\\\\\\\\MyServer\\\\share"
.