Flightplan远程执行命令
Flightplan 可以在本地或者远程主机上运行一序列的命令。这是一个 Node.js 库,用于执行应用发布和系统管理任务,类似 Python 的 Fabric。
示例代码:
// flightplan.js var Flightplan = require('flightplan'); var tmpDir = 'pstadler-sh-' + new Date().getTime(); // configuration plan.briefing({ debug: false, destinations: { 'staging': { host: 'staging.pstadler.sh', username: 'pstadler', agent: process.env.SSH_AUTH_SOCK }, 'production': [ { host: 'www1.pstadler.sh', username: 'pstadler', agent: process.env.SSH_AUTH_SOCK }, { host: 'www2.pstadler.sh', username: 'pstadler', agent: process.env.SSH_AUTH_SOCK } ] } }); // run commands on localhost plan.domestic(function(local) { local.log('Run build'); local.exec('gulp build'); local.log('Copy files to remote host'); var filesToCopy = '(git ls-files -z;find assets/public -type f -print0)'; local.exec(filesToCopy + '|rsync --files-from - -avz0 --rsh="ssh"' + ' ./ pstadler@pstadler.sh:/tmp/' + tmpDir); }); // run commands on remote hosts (destinations) plan.international(function(remote) { remote.log('Move folder to web root'); remote.sudo('cp -R /tmp/' + tmpDir + ' ~', { user: 'www' }); remote.rm('-rf /tmp/' + tmpDir); remote.log('Install dependencies'); remote.sudo('npm --production --silent --prefix ~/' + tmpDir + ' install ~/' + tmpDir, { user: 'www' }); remote.log('Reload application'); remote.sudo('ln -snf ~/' + tmpDir + ' ~/pstadler-sh', { user: 'www' }); remote.sudo('pm2 reload pstadler-sh', { user: 'www' }); }); // run more commands on localhost afterwards plan.domestic(function(local) { /* ... */ }); // ...or on remote hosts plan.international(function(remote) { /* ... */ }); // executed if flightplan succeeded plan.success(function() { }); // executed if flightplan failed plan.disaster(function() { }); // always executed after flightplan finished plan.debriefing(function() { });
评论
Flightplan远程执行命令
Flightplan可以在本地或者远程主机上运行一序列的命令。这是一个Node.js库,用于执行应用发布和系统管理任务,类似Python的Fabric。示例代码:// flightplan.jsvar
Flightplan远程执行命令
0
batch_ssh v0.0.3批量SSH执行命令
使用配置文件登陆多台主机cat host 192.168.1.2 192.168.1.3./batc
batch_ssh v0.0.3批量SSH执行命令
0
batch_ssh v0.0.3批量SSH执行命令
使用配置文件登陆多台主机cathost192.168.1.2192.168.1.3./batch_ssh.py-fhost-uroot-cid Password:#输入密码不显示[Info]login
batch_ssh v0.0.3批量SSH执行命令
0
NginxExecuteNginxExecute 通过浏览器执行命令并接收结果
NginxExecute 是一个 nginx 第三方模块,通过浏览器执行命令并接收结果。配置示例:w
NginxExecuteNginxExecute 通过浏览器执行命令并接收结果
0