![Dependencies](https://david-dm.org/larvit/larvitamsync.svg)
larvitamsync
Sync data between minions
Usage
Server (data master)
For this to work, larvitamintercom must be configured and up and running!
const options = {'exchange': 'test_dataDump'},
amsync = require('larvitamsync');
options.dataDumpCmd = {
'command': 'cat',
'args': ['/home/myself/dbdump.sql'],
'options': {}
};
options.dataDumpCmd = {
'command': 'mysqldump',
'args': ['-u', 'root', '-psecret', '--single-transaction', 'dbname', 'table1', 'table2'],
'options': {}
};
options['Content-Type'] = 'application/sql';
new amsync.SyncServer(options, function(err) {
if (err) throw err;
console.log('Server active');
});
Client (data slave)
For this to work, larvitamintercom must be configured and up and running!
const options = {'exchange': 'test_dataDump'},
amsync = require('larvitamsync');
new amsync.SyncClient(options, function(err, res) {
let syncData = '';
if (err) throw err;
res.on('data', function(chunk) {
syncData += chunk.toString();
});
res.on('end', function() {
console.log('Got sync data:');
console.log(syncData);
});
res.on('error', function(err) {
throw err;
});
});
MariaDB/MySQL
For this to work, both larvitamintercom and larvitdb must be configured and up and running!
const options = {'exchange': 'test_dataDump'},
amsync = require('larvitamsync');
amsync.mariadb(options, function(err) {
if (err) throw err;
console.log('Data synced!');
});