diff --git a/src/cron.js b/src/cron.js index f27b932d6..af98c364a 100644 --- a/src/cron.js +++ b/src/cron.js @@ -109,7 +109,7 @@ function recreateJobs(unusedTimeZone, callback) { if (gCleanupBackupsJob) gCleanupBackupsJob.stop(); gCleanupBackupsJob = new CronJob({ - cronTime: '00 */30 * * * *', // every 30 minutes + cronTime: '00 */1 * * * *', // every 30 minutes onTick: janitor.cleanupBackups, start: true, timeZone: allSettings[settings.TIME_ZONE_KEY] diff --git a/src/janitor.js b/src/janitor.js index e2781c58a..9cf2d5f27 100644 --- a/src/janitor.js +++ b/src/janitor.js @@ -121,10 +121,8 @@ function cleanupBackups(callback) { backups.getPaged(1, 1000, function (error, result) { if (error) return callback(error); - var TIME_OFFSET = 1000 * 60 * 60 * 24 * 2; // 2 days = 2 backups - var TIME_THRESHOLD = Date.now() - TIME_OFFSET; - - var toCleanup = result.filter(function (backup) { return backup.creationTime.getTime() <= TIME_THRESHOLD; }); + // sort with latest backups first in the array and slice 2 + var toCleanup = result.sort(function (a, b) { return b.creationTime.getTime() - a.creationTime.getTime(); }).slice(2); debug('cleanupBackups: about to clean: ', toCleanup);