Linux批量远程命令和上传下载工具

https://github.com/eyjian/mooon/releases/tag/mooon-tools mooon_ssh:批量远程命令工具,在多台机器上执行指定命令 mooon_upload:批量远程上传工具,上传单个或多个文件到单台或多台机器 mooon_download:批量远程下载工具,从指定机器下载一个或多个文件 mooon-tools-glibc2.17.tar.gz 64位版本,glibc为2.17,点击下载 mooon-tools-glibc2.4.tar.gz 32位版本,glibc2.4,常常可用于64位版本glibc2.17环境,点击下载。 建议复制到目录/usr/local/bin,或在/usr/local/bin目录下解压,以方便所有用户直接使用,而不用指定文件路径。 可以通过环境变量或参数方式指定连接远程机器的用户名、密码和IP地址或IP地址列表,但参数方式优先: 1) 环境变量H等同参数-h,用于指定远程机器的IP或IP列表,多个IP间以逗号分隔,但mooon_download只能指定一个IP 2) 环境变量U等同参数-u,用于指定连接远程机器的用户名 3) 环境变量P等同参数-p,用于指定远程机器的用户密码 4) 环境变量PORT等同参数-P,用于指定远程机器的端口号 环境变量方式和参数方式可以混合使用,即部分通过环境变量设置值,部分以参数方式指定值。 并建议,参数值尽可能使用单引号,以避免需要对值进行转义处理,除非值本身已包含了单引号。 如果使用双引号,则需要做转义,如批量kill掉java进程: mooon_ssh -c="kill \$(/usr/local/jdk/bin/jps|awk /DataNode/'{print \$1}')" 另外,低版本glibc不兼容高版本的glibc,因此glibc2.4的不能用于glibc2.17环境,64位版本也不能用于32位环境。 64位系统上查看glibc版本方法:/lib64/libc.so.6 32位系统上查看glibc版本方法:/lib/libc.so.6 参数无顺序要求,不带任何参数执行即可查看使用帮助,如: $ mooon_ssh  parameter[-c]'s value not set usage: -P[22/10,65535]: remote hosts port, e.g., -P=22. You can also set environment `PORT` instead of `-P`, e.g., export PORT=1998 -c[]: command to execute remotely, e.g., -c='grep ERROR /tmp/*.log' -h[]: remote hosts separated by comma, e.g., -h='192.168.1.10,192.168.1.11'. You can also set environment `H` instead of `-h`, e.g., export H=192.168.1.10,192.168.1.11 -p[]: remote host password, e.g., -p='password'. You can also set environment `P` instead of `-p`, e.g., export P=123456 -t[60/1,65535]: timeout seconds to remote host, e.g., -t=100 -u[]: remote host user name, e.g., -u=root. You can also set environment `U` instead of `-u`, e.g., export U=zhangsan 对于整数类型的参数,均设有默认值和取值范围,如“-P[22/10,65535]”表示默认值为,取值范围为10~65535。对于字符串类型参数,如果为空中括号“[]”,则表示无默认值,否则中括号“[]”中的内容为默认值,如“-u[root]”表示参数“-u”的默认值为root。 mooon_ssh使用示例: 1) 参数方式 mooon_ssh -u=root -p='mypassword' -h=192.168.31.2,192.168.31.3 -c='whoami' 2) 环境变量方式 export U=root export P='mypassword' export H=192.168.31.2,192.168.31.3 mooon_ssh -c='whoami' 3) 混合方式 export U=root export P='mypassword' mooon_ssh -c='whoami' -h=192.168.31.2 mooon_upload和mooon_download使用方法类似。 远程批量添加一条crontab方法: mooon_ssh -c='echo -e "`crontab -l`\n* * * * * touch /tmp/x.txt" | crontab -' 完成后,crontab中将添加如下一行: * * * * * touch /tmp/x.txt

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java思维导图

互联网协议入门(二)

技术文章第一时间送达! 本文来自“阮一峰的网络日志” 上一篇文章分析了互联网的总体构思,从下至上,每一层协议的设计思想。 这是从设计者的角度看问题,今天我想切换...

2678
来自专栏郭少华

Spring boot热部署(三)

CTRL + SHIFT + A --> 查找make project automatically --> 选中

1.3K1
来自专栏我和PYTHON有个约会

Django来敲门升级版--[扩展篇]--认证authenticate

Django默认提供了自己的身份认证系统,默认配置下提供有封装好的简单的用户类型以供开发人员直接使用

943
来自专栏Python小屋

必须放在特定的文件夹中才能运行的Python程序

下面的小代码要演示的问题是,可以规定某个Python程序必须放在特定的文件夹(代码中假设必须放到Python安装目录中)中才能运行,移动到其他文件夹之后会拒绝运...

3066
来自专栏技术之路

翻译qmake文档(四) Building Common Project Types

本章原英文文档:http://qt-project.org/doc/qt-5/qmake-common-projects.html 构建常见的项目类型     ...

21310
来自专栏大闲人柴毛毛

Linux文件权限与目录管理

Linux文件系统的三种身份 文件所有者 同组用户 同一个用户组的用户可以访问该用户组的文件; 每个账号可以加入多个用户组。 在同一个用户组的...

4338
来自专栏风中追风

分布式基础__HTTP 通信协议

https://www.zhihu.com/question/44323871/answer/347628315 这个地址是知乎上的一个问题,

38315
来自专栏技术专栏

慕课网Flask高级编程实战-1.项目准备 和 Flask入门

如果直接使用/hello 那么不能兼容浏览器不能访问/hello/和/hello,解决办法,路径定义改成/hello/

4165
来自专栏坚毅的PHP

使用 Java Service Wrapper 启动java后台进程服务

 Java Service Wrapper (http://wrapper.tanukisoftware.com/doc/english/product-ove...

4885
来自专栏闻道于事

SpringBoot常用配置

前言:springboot集成了主流的第三方框架,但是需要使用springboot那一套配置方式。但是我这里只列举了非常非常常用的,可以看已发的几篇博客,慢慢会...

4807

扫码关注云+社区

领取腾讯云代金券