Skip to content

Commit

Permalink
add yarn lock, update package json, update name
Browse files Browse the repository at this point in the history
  • Loading branch information
rohit-gohri committed Nov 2, 2018
1 parent 4c6db22 commit 436d8a4
Show file tree
Hide file tree
Showing 5 changed files with 1,995 additions and 2,630 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,5 @@ npm-debug.log*

# Dependency directories
node_modules

package-lock.json
165 changes: 85 additions & 80 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ const config = require('config');
const commandLineCommands = require('command-line-commands');
const commandLineArgs = require('command-line-args');
const getUsage = require('command-line-usage');

const logger = require('./logging');
const backup = require('./wal-e_backup');
const restore = require('./wal-e_restore');
Expand Down Expand Up @@ -141,6 +142,89 @@ let options = commandLineArgs(optionDefinitions, {argv});
logger.enableConsole(options._all.log);
let res;

async function cronTask() {
const errs = [];
res = [];
try {
const dailyBackup = await backup.doBackup('daily');
res.push({
title: 'Daily Backup',
value: dailyBackup.msg,
});
}
catch (e) {
errs.push({
title: 'Daily Backup',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}

try {
if (errs.length === 0) {
const dailyDelete = await backup.deleteBackups('daily', cron.daily);
res.push({
title: 'Daily Delete',
value: dailyDelete.msg,
});
}
else {
errs.push({
title: 'Daily Delete',
value: 'Daily backup failed so not doing Daily Delete',
});
}
}
catch (e) {
errs.push({
title: 'Daily Delete',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}

if (moment().day() === cron.weekday) {
logger.log('Weekly stuff running too');
try {
const weeklyBackup = await gcs.copyBackup(cron.weekday - 1);
res.push({
title: 'Weekly Backup',
value: weeklyBackup.msg,
});
}
catch (e) {
errs.push({
title: 'Weekly Backup',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}

try {
if (errs.filter(err => err.title === 'Weekly Backup').length === 0) {
const weeklyDelete = await backup.deleteBackups('weekly', cron.weekly);
res.push({
title: 'Weekly Delete',
value: weeklyDelete.msg,
});
}
else {
errs.push({
title: 'Weekly Delete',
value: 'Weekly backup failed so not doing Weekly Delete',
});
}
}
catch (e) {
errs.push({
title: 'Weekly Delete',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}
}
if (errs.length === 0) { logger.console('CRON job done') }
else { logger.error('CRON job failed\n', errs.map(e => e.value).join('\n')) }

sendSlack(res, `Cron job report for *${waleHost}*`, errs);
}

async function doCommand(com) {
try {
switch (com) {
Expand Down Expand Up @@ -193,86 +277,7 @@ async function doCommand(com) {
break;

case 'cron':
let errs = [];
res = [];
try {
const dailyBackup = await backup.doBackup('daily');
res.push({
title:'Daily Backup',
value: dailyBackup.msg,
});
}
catch(e) {
errs.push({
title: 'Daily Backup',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}

try {
if (errs.length === 0) {
const dailyDelete = await backup.deleteBackups('daily', cron.daily);
res.push({
title:'Daily Delete',
value: dailyDelete.msg,
});
}
else {
errs.push({
title: 'Daily Delete',
value: 'Daily backup failed so not doing Daily Delete',
});
}
}
catch(e) {
errs.push({
title: 'Daily Delete',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}

if (moment().day() === cron.weekday) {
logger.log('Weekly stuff running too');
try {
const weeklyBackup = await gcs.copyBackup(cron.weekday - 1);
res.push({
title:'Weekly Backup',
value: weeklyBackup.msg,
});
}
catch(e) {
errs.push({
title: 'Weekly Backup',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}

try {
if (errs.filter(err => err.title === 'Weekly Backup').length === 0) {
const weeklyDelete = await backup.deleteBackups('weekly', cron.weekly);
res.push({
title:'Weekly Delete',
value: weeklyDelete.msg,
});
}
else {
errs.push({
title: 'Weekly Delete',
value: 'Weekly backup failed so not doing Weekly Delete',
});
}
}
catch(e) {
errs.push({
title: 'Weekly Delete',
value: JSON.stringify(e, Object.getOwnPropertyNames(e), 2),
});
}
}
if (errs.length === 0) { logger.console('CRON job done') }
else { logger.error('CRON job failed\n', errs.map(e => e.value).join('\n')) }

sendSlack(res, `Cron job report for *${waleHost}*`, errs);
await cronTask();
break;
default:
console.log(usage);
Expand Down
Loading

0 comments on commit 436d8a4

Please sign in to comment.