Openresty(十八)使用lua-resty-shell 执行shell 脚本

一    模块地址

(1)功能

1)  lua-resty-shell 用于'非阻塞'的执行shell命令的Lua模块

2)  通过openresty实现'本地[unix socket]或远程执行'shell'命令'或'脚本'

(2) lua-resty-shell的两个版本

①    openresty官方内置版本

第一种'内置'版本需要'openresty版本5.0+'以后才支持

  

②    麻省理工Juce版本

第二种Juce版,支持'所有版本'的openresty,但需要做'一定'的配置,两种版本性能'差异未知'

相关参考

其它参考

补充参考

(3)lua自带的

非openresty 提供的网络操作'系统命令行'调用'os.execute 等'应该尽量'避免'

 openresty阻塞操作 

 os.execute 

 os.popen 使用管道符

(4)使用官方自带

备注:本质是sh -c "字符串" 

①    编写lua脚本

②    nginx.conf配置

③    测试

思考: 'who 命令'是谁?

④    多个命令

直接使用';'隔开

⑤    脚本

说明:假定openresty指定'user root[权限最大]',默认是'nginx'

补充:/tmp和/mnt不管什么'use'指定什么用户都'无法'执行其中的脚本,甚至都'无法找到'该文件,即使是'root',原因'未知[可能是缺陷?]'

附加:关于'脚本传参,后续探究'

⑥  调试

  

思考:如何涉及到'权限问题',尝试'user root root',看看效果,并且看下'not ok -->对应stderr信息'

二    ssh远程执行shell脚本或命令

+++++++++++'执行'shell脚本+++++++++++

1)  远程执行本地的shell脚本  --> ssh user@ip 'bash -s' < test.sh a b   --> "带参数"

2)  远程执行'远端'的脚本     --> ssh user@ip "ls;sh start_project.sh&" 

3)  bash -c  "/path/to/file" $1 $2 写文件的"绝对"路径,用"双引号"括起来,且文件要具有'可执行'权限

restydoc查看openresty相关文档 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值