diff --git a/src/backups.js b/src/backups.js index e5002e503..97f91098d 100644 --- a/src/backups.js +++ b/src/backups.js @@ -124,6 +124,7 @@ function testConfig(backupConfig, callback) { if (backupConfig.format !== 'tgz' && backupConfig.format !== 'rsync') return callback(new BackupsError(BackupsError.BAD_FIELD, 'unknown format')); + // remember to adjust the cron ensureBackup task interval accordingly if (backupConfig.intervalSecs < 6 * 60 * 60) return callback(new BackupsError(BackupsError.BAD_FIELD, 'Interval must be atleast 6 hours')); api(backupConfig.provider).testConfig(backupConfig, callback); @@ -983,7 +984,7 @@ function ensureBackup(auditSource, callback) { getByStatePaged(backupdb.BACKUP_STATE_NORMAL, 1, 1, function (error, backups) { if (error) { debug('Unable to list backups', error); - return callback(error); // no point trying to backup if appstore is down + return callback(error); } settings.getBackupConfig(function (error, backupConfig) { diff --git a/src/cron.js b/src/cron.js index f64aeb69a..ee0865ec0 100644 --- a/src/cron.js +++ b/src/cron.js @@ -102,7 +102,7 @@ function recreateJobs(tz) { if (gJobs.backup) gJobs.backup.stop(); gJobs.backup = new CronJob({ - cronTime: '00 00 */6 * * *', // every 6 hours. backups.ensureBackup() will only trigger a backup once per day + cronTime: '00 00 */6 * * *', // check every 6 hours onTick: backups.ensureBackup.bind(null, AUDIT_SOURCE, NOOP_CALLBACK), start: true, timeZone: tz