diff --git a/app.coffee b/app.coffee index 1952e1e..ad4afe0 100755 --- a/app.coffee +++ b/app.coffee @@ -37,7 +37,7 @@ app.libs = Mixed: (require 'mongoose').Schema.Types.Mixed {cookieParser, copy, crypto, bodyParser, depd, express, fs, harp, middlewareInjector, mongoose} = exports.libs -{morgan, nodemailer, path, redis} = exports.libs +{morgan, nodemailer, path, redis, _} = exports.libs app.logger = do -> unless process.env.NODE_ENV == 'test' diff --git a/plugin/bitcoin/reconfigure.coffee b/plugin/bitcoin/reconfigure.coffee index 47ae140..df293d3 100644 --- a/plugin/bitcoin/reconfigure.coffee +++ b/plugin/bitcoin/reconfigure.coffee @@ -1,3 +1,4 @@ +{async} = app.libs {utils} = app {Account} = app.models diff --git a/plugin/linux/reconfigure.coffee b/plugin/linux/reconfigure.coffee index 207ec1a..2429911 100644 --- a/plugin/linux/reconfigure.coffee +++ b/plugin/linux/reconfigure.coffee @@ -4,7 +4,8 @@ linux = require './linux' -fs.mkdirSync "#{__dirname}/../.backup/linux", 0o750 +unless fs.existsSync "#{__dirname}/../../.backup/linux" + fs.mkdirSync "#{__dirname}/../../.backup/linux", 0o750 module.exports = (callback) -> exists_users = _.filter fs.readdirSync('/home'), (file) -> @@ -15,25 +16,25 @@ module.exports = (callback) -> Account.find 'billing.services': 'linux' , (err, accounts) -> - async.eachSeries accounts, (account, callback) -> - if account.username in exists_users + async.eachSeries accounts, (account, callback) -> + if account.username in exists_users + linux.setResourceLimit account, callback + else + console.log "created linux user for #{account.username}" + + linux.createUser account, -> linux.setResourceLimit account, callback - else - console.log "created linux user for #{account.username}" - linux.createUser account, -> - linux.setResourceLimit account, callback - - , callback + , callback (callback) -> linux.getPasswdMap (passwd_map) -> async.eachSeries exists_users, (user, callback) -> - if passwd_map[user] - return callback + if user in _.values passwd_map + return callback() console.log "removed /home/#{user}" - backup_filename = "#{__dirname}/../.backup/linux/#{user}-#{utils.randomString(5)}" + backup_filename = "#{__dirname}/../../.backup/linux/#{user}-#{utils.randomString(5)}" child_process.exec "sudo mv /home/#{user} #{backup_filename}", callback , callback diff --git a/plugin/supervisor/reconfigure.coffee b/plugin/supervisor/reconfigure.coffee index cced3a4..00f7011 100644 --- a/plugin/supervisor/reconfigure.coffee +++ b/plugin/supervisor/reconfigure.coffee @@ -4,7 +4,8 @@ supervisor = require './supervisor' -fs.mkdirSync "#{__dirname}/../.backup/supervisor", 0o750 +unless fs.existsSync "#{__dirname}/../../.backup/supervisor" + fs.mkdirSync "#{__dirname}/../../.backup/supervisor", 0o750 module.exports = (callback) -> async.series [ @@ -36,7 +37,7 @@ module.exports = (callback) -> return callback() else console.log "removed /etc/supervisor/conf.d/#{filename}" - backup_filename = "#{__dirname}/../.backup/supervisor/#{filename}-#{utils.randomString(5)}" + backup_filename = "#{__dirname}/../../.backup/supervisor/#{filename}-#{utils.randomString(5)}" child_process.exec "sudo mv /etc/supervisor/conf.d/#{filename} #{backup_filename}", callback , callback