|
@@ -0,0 +1,46 @@
|
|
|
+#!/usr/bin/env node
|
|
|
+
|
|
|
+var cli = require('cli'),
|
|
|
+ options = cli.parse({
|
|
|
+ leave: ['l', 'Period of time', 'string', '1d'],
|
|
|
+ host: ['h', 'MySQL host', 'string', 'mysql'],
|
|
|
+ port: ['p', 'MySQL port', 'string', '3306'],
|
|
|
+ user: ['u', 'MySQL user', 'string', 'root'],
|
|
|
+ password: ['pw', 'MySQL password', 'string', '235r2342gtfsw'],
|
|
|
+ database: ['d', 'MySQL database', 'string', 'statsd_db']
|
|
|
+ })
|
|
|
+;
|
|
|
+
|
|
|
+var mysql = require('mysql');
|
|
|
+var connection = mysql.createConnection({
|
|
|
+ host: options.host,
|
|
|
+ port: options.port,
|
|
|
+ user: options.user,
|
|
|
+ password: options.password,
|
|
|
+ database: options.database,
|
|
|
+ multipleStatements: true
|
|
|
+});
|
|
|
+
|
|
|
+var moment = require('moment');
|
|
|
+var n = parseInt(options.leave, 10);
|
|
|
+var from = moment().subtract(n, options.leave.replace(n, '')).format('X');
|
|
|
+var to = moment().format('X');
|
|
|
+
|
|
|
+var mysql_tables = ['gauges_statistics', 'counters_statistics', 'timers_statistics', 'sets_statistics'];
|
|
|
+for (var i = 0; i < mysql_tables.length; i++) {
|
|
|
+ console.log('DELETE FROM '+mysql_tables[i]+' WHERE timestamp <= '+from+' OR timestamp >= '+to+';');
|
|
|
+
|
|
|
+ connection.query('DELETE FROM '+mysql_tables[i]+' WHERE timestamp <= '+from+' OR timestamp >= '+to+';', function (err, rows, fields) {
|
|
|
+ if (err) {
|
|
|
+ connection.end();
|
|
|
+ console.log(err);
|
|
|
+ throw err;
|
|
|
+ }
|
|
|
+ for (var i = 0; i <= rows.length - 1; i++) {
|
|
|
+ console.log(rows[i]);
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+connection.end();
|
|
|
+
|
|
|
+console.log('OK');
|