diff --git a/migrations/20170919185109-settings-set-backupFolder.js b/migrations/20170919185109-settings-set-backupFolder.js new file mode 100644 index 000000000..404239145 --- /dev/null +++ b/migrations/20170919185109-settings-set-backupFolder.js @@ -0,0 +1,23 @@ +'use strict'; + +// ensure backupFolder has not empty +exports.up = function(db, callback) { + db.all('SELECT * FROM settings WHERE name=?', [ 'backup_config' ], function (error, result) { + if (error || result.length === 0) return callback(error); + + var value = JSON.parse(result[0].value); + if (value.provider !== 'filesystem' || value.backupFolder) return callback(); + + value.backupFolder = '/var/backups'; + + db.runSql('UPDATE settings SET value = ? WHERE name = ?', [ JSON.stringify(value), 'backup_config' ], function (error) { + if (error) console.error('Error setting ownerid ' + JSON.stringify(u) + error); + callback(); + }); + + }); +}; + +exports.down = function(db, callback) { + callback(); +}; diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js index 4bbd6587d..cc2babf94 100644 --- a/src/storage/filesystem.js +++ b/src/storage/filesystem.js @@ -25,7 +25,6 @@ var assert = require('assert'), shell = require('../shell.js'), targz = require('./targz.js'); -var FALLBACK_BACKUP_FOLDER = '/var/backups'; var BACKUP_USER = config.TEST ? process.env.USER : 'yellowtent'; // internal only @@ -35,7 +34,7 @@ function getBackupFilePath(apiConfig, backupId) { const FILE_TYPE = apiConfig.key ? '.tar.gz.enc' : '.tar.gz'; - return path.join(apiConfig.backupFolder || FALLBACK_BACKUP_FOLDER, backupId.endsWith(FILE_TYPE) ? backupId : backupId+FILE_TYPE); + return path.join(apiConfig.backupFolder, backupId.endsWith(FILE_TYPE) ? backupId : backupId+FILE_TYPE); } // storage api diff --git a/webadmin/src/views/settings.html b/webadmin/src/views/settings.html index 97e435be6..027307cfb 100644 --- a/webadmin/src/views/settings.html +++ b/webadmin/src/views/settings.html @@ -139,7 +139,7 @@
Please ensure that the backup directory is an external disk @@ -335,7 +335,7 @@ Location