这是我参与更文挑战的第12天,活动详情查看: 更文挑战
batchcmd批量操作linux主机
支持持续交互对多个主机操作Shell,支持口令和私钥模式,支持文件上传和下载,整体实现了常用的批量操作,轻量级Ansible。对于持续输出命令,例如top等命令,需要-c指定输出次数,否则会无限输出不会结束。喜欢记得点个关注哦。
Github
batchCmd源码 欢迎star~
运行环境
需要python3.0+,如需要二进制运行还需要安装pyinstaller
安装
- clone到本地,修改根目录.cfg配置文件,运行batchCMD.py
- clone到本地,安装pyinstaller,执行 pyinstaller -f batchCMD.py ,会生成二进制文件在同级目录下放入.cfg配置文件即可
配置文件
支持口令和秘钥两种方式
- 密码格式:172.16.3.131 -p 密码
- 私钥模式:172.16.3.131 -key 私钥绝对路径
- 默认为root,修改用户名:172.16.3.131 -u tyy -p 密码
- ssh端口使用为22,暂无配置,需要修改可改源码。
启动命令
命令 | 说明 |
---|---|
-h | 帮助 |
-i | 开启持续交互式 |
-g | 指定配置文件的主机组名称 |
-c | shell命令(top等持续输出命令请加输出次数否则会不显示 ) |
-fun | 指定函数,目前支持put和get分别为sftp上传下载 |
-form | 配合fun的put或get使用,指定原始文件目录 |
-to | 配合fun的put或get使用,指定目标文件目录 |
交互中输入 cc | 等同于【ctrl + c】 |
源码模式:
python3 bashCMD.py -g web -i -c 'ls'
python3 bashCMD.py -g web -fun put -form /home/123.txt -to /home/123.txt
python3 bashCMD.py -g web -fun get -form /home/123.txt -to /home/123.txt
复制代码
二进制模式:
./bashCMD -g web -i -c 'ls'
./bashCMD -g web -fun put -form /home/123.txt -to /home/123.txt
./bashCMD -g web -fun get -form /home/123.txt -to /home/123.txt
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END