diff --git a/migrations/20170423032116-settings-set-default-retentionSecs.js b/migrations/20170423032116-settings-set-default-retentionSecs.js index f8f1d5df4..a1f19f943 100644 --- a/migrations/20170423032116-settings-set-default-retentionSecs.js +++ b/migrations/20170423032116-settings-set-default-retentionSecs.js @@ -7,7 +7,7 @@ exports.up = function(db, callback) { var backupConfig = JSON.parse(results[0].value); if (backupConfig.provider === 'filesystem') { backupConfig.retentionSecs = 2 * 24 * 60 * 60; // 2 days - } else { + } else { // CaaS and S3 backupConfig.retentionSecs = -1; } db.runSql('UPDATE settings SET value=? WHERE name="backup_config"', [ JSON.stringify(backupConfig) ], callback); diff --git a/src/storage/caas.js b/src/storage/caas.js index 155c5e667..fb8923341 100644 --- a/src/storage/caas.js +++ b/src/storage/caas.js @@ -84,7 +84,7 @@ function backup(apiConfig, backupId, sourceDirectories, callback) { var s3 = new AWS.S3(credentials); s3.upload(params, function (error) { if (error) { - console.error('[%s] backup: s3 upload error.', backupId, error); + debug('[%s] backup: s3 upload error.', backupId, error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error)); } @@ -123,7 +123,7 @@ function restore(apiConfig, backupId, destination, callback) { // TODO ENOENT for the mock, fix upstream! if (error.code === 'NoSuchKey' || error.code === 'ENOENT') return callback(new BackupsError(BackupsError.NOT_FOUND)); - console.error('[%s] restore: s3 stream error.', backupId, error); + debug('[%s] restore: s3 stream error.', backupId, error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); @@ -150,7 +150,7 @@ function copyBackup(apiConfig, oldBackupId, newBackupId, callback) { s3.copyObject(params, function (error) { if (error && error.code === 'NoSuchKey') return callback(new BackupsError(BackupsError.NOT_FOUND)); if (error) { - console.error('copyBackup: s3 copy error.', error); + debug('copyBackup: s3 copy error.', error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error)); } @@ -180,7 +180,9 @@ function removeBackups(apiConfig, backupIds, callback) { var s3 = new AWS.S3(credentials); s3.deleteObjects(params, function (error) { - if (error) console.error('Unable to remove %s. Not fatal.', params.Key, error); + if (error) debug('Unable to remove %s. Not fatal.', params.Key, error); + else debug('removeBackups: Deleted: %j Errors: %j', data.Deleted, data.Errors); + callback(null); }); }); diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js index 297d299a0..b4e60cd05 100644 --- a/src/storage/filesystem.js +++ b/src/storage/filesystem.js @@ -54,7 +54,7 @@ function backup(apiConfig, backupId, sourceDirectories, callback) { var fileStream = fs.createWriteStream(backupFilePath); fileStream.on('error', function (error) { - console.error('[%s] backup: out stream error.', backupId, error); + debug('[%s] backup: out stream error.', backupId, error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); @@ -90,7 +90,7 @@ function restore(apiConfig, backupId, destination, callback) { var fileStream = fs.createReadStream(sourceFilePath); fileStream.on('error', function (error) { - console.error('restore: file stream error.', error); + debug('restore: file stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); @@ -117,12 +117,12 @@ function copyBackup(apiConfig, oldBackupId, newBackupId, callback) { var writeStream = fs.createWriteStream(newFilePath); readStream.on('error', function (error) { - console.error('copyBackup: read stream error.', error); + debug('copyBackup: read stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); writeStream.on('error', function (error) { - console.error('copyBackup: write stream error.', error); + debug('copyBackup: write stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); diff --git a/src/storage/s3.js b/src/storage/s3.js index 50899d072..73ccc5eba 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -91,7 +91,7 @@ function backup(apiConfig, backupId, sourceDirectories, callback) { var s3 = new AWS.S3(credentials); s3.upload(params, function (error) { if (error) { - console.error('[%s] backup: s3 upload error.', backupId, error); + debug('[%s] backup: s3 upload error.', backupId, error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); } @@ -131,7 +131,7 @@ function restore(apiConfig, backupId, destination, callback) { // TODO ENOENT for the mock, fix upstream! if (error.code === 'NoSuchKey' || error.code === 'ENOENT') return callback(new BackupsError(BackupsError.NOT_FOUND)); - console.error('[%s] restore: s3 stream error.', backupId, error); + debug('[%s] restore: s3 stream error.', backupId, error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); @@ -158,7 +158,7 @@ function copyBackup(apiConfig, oldBackupId, newBackupId, callback) { s3.copyObject(params, function (error) { if (error && error.code === 'NoSuchKey') return callback(new BackupsError(BackupsError.NOT_FOUND, 'Old backup not found')); if (error) { - console.error('copyBackup: s3 copy error.', error); + debug('copyBackup: s3 copy error.', error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); } @@ -187,8 +187,10 @@ function removeBackups(apiConfig, backupIds, callback) { }); var s3 = new AWS.S3(credentials); - s3.deleteObjects(params, function (error) { - if (error) console.error('Unable to remove %s. Not fatal.', params.Key, error); + s3.deleteObjects(params, function (error, data) { + if (error) debug('removeBackups: Unable to remove %s. Not fatal.', params.Key, error); + else debug('removeBackups: Deleted: %j Errors: %j', data.Deleted, data.Errors); + callback(null); }); }); diff --git a/src/storage/targz.js b/src/storage/targz.js index a6b40da93..b0b62d94b 100644 --- a/src/storage/targz.js +++ b/src/storage/targz.js @@ -35,17 +35,17 @@ function create(sourceDirectories, key, outStream, callback) { var progressStream = progress({ time: 10000 }); // display a progress every 10 seconds pack.on('error', function (error) { - console.error('backup: tar stream error.', error); + debug('backup: tar stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); gzip.on('error', function (error) { - console.error('backup: gzip stream error.', error); + debug('backup: gzip stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); encrypt.on('error', function (error) { - console.error('backup: encrypt stream error.', error); + debug('backup: encrypt stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); @@ -83,17 +83,17 @@ function extract(inStream, isOldFormat, destination, key, callback) { }); decrypt.on('error', function (error) { - console.error('restore: decrypt stream error.', error); + debug('restore: decrypt stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); gunzip.on('error', function (error) { - console.error('restore: gunzip stream error.', error); + debug('restore: gunzip stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); }); extract.on('error', function (error) { - console.error('restore: extract stream error.', error); + debug('restore: extract stream error.', error); callback(new BackupsError(BackupsError.EXTERNAL_ERROR, error.message)); });