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

Linux批量远程命令和上传下载工具的更多相关文章

  1. [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)

    转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...

  2. ssh远程 和 上传/下载工具

    常用的ssh远程工具有: putty  : 软件体积小,开源免费. xshell  : 功能强大,亦有免费试用版本 SecureCRT  : 功能强大 ftp  : 该软件用于上传下载文件 通过ssh ...

  3. Linux下安装lrzsz上传下载工具

    使用yum安装 为什么要使用yum安装? 答:安装十分方便,几乎不需要别的操作,只需要一个yum命令就可以完成所有的安装过程. yum -y install lrzsz  要有网络才行 输入命令:rz ...

  4. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  5. linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载

    https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...

  6. Java实现FTP批量大文件上传下载篇1

    本文介绍了在Java中,如何使用Java现有的可用的库来编写FTP客户端代码,并开发成Applet控件,做成基于Web的批量.大文件的上传下载控件.文章在比较了一系列FTP客户库的基础上,就其中一个比 ...

  7. FTP上传下载工具(FlashFXP) v5.5.0 中文版

    软件名称: FTP上传下载工具(FlashFXP) 软件语言: 简体中文 授权方式: 免费试用 运行环境: Win 32位/64位 软件大小: 7.4MB 图片预览: 软件简介: FlashFXP 是 ...

  8. ftp上传下载工具类

    package com.taotao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...

  9. (转载)基于Bash命令行的百度云上传下载工具

    原文链接:http://hi.baidu.com/meoow/item/aef5814bbd5be3e1bcf451e9 这是我根据百度云PCS的API写的一个基于bash的命令行工具, 使用了cur ...

随机推荐

  1. python requests的content和text方法的区别(转)

    原文地址: http://blog.csdn.net/xie_0723/article/details/51361006 问题: 一直在想requests的content和text属性的区别,从pri ...

  2. 线特征---LineMatching原理(四)

    参考文章:An efficient and robust line segment matching approach based on LBD descriptor and pairwise geo ...

  3. mysql 定时任务的使用

    mysql5.1.6增加了一个事件调度器(Event Scheduler),可以做定时任务(定时删除记录,定时数据统计),取代之前系统的计划任务.mysql事件调度器可以精确到每秒执行一个任务. 事件 ...

  4. mysql lost connection to server during query

    vim /etc/mysql/mysql.conf.d/mysqld.cnf [mysqld]#3600000/1000=3600秒=1小时 wait_timeout =3600000#2G缓冲max ...

  5. 当时钟事件声明为过程变量 让system.threading.timer时钟失效

    这个项目的小模块就是画label 控件到tablepayoutpanel表单 之中, 中间用到了时钟,事件(带返回值的),哈希表 .由于时钟定义在 form1的启动构造函数中导致了form1,启动完毕 ...

  6. dpdk中文文档

    Linux平台上DPDK入门指南 1. 简介 1.1. 文档地图 2. 系统要求 2.1. X86 上预先设置 BIOS 2.2. 编译DPDK 2.3. 运行DPDK应用程序 3. 使用源码编译DP ...

  7. 如何修改隐藏Zblog/WordPress默认后台登录地址

    我相信很多博主站长都遇到过站点被暴力破解,虽然未被破解,但是经常收到那些尝试登录失败的邮件提醒也会心慌慌的.对于这种情况,最好的办法就是修改/隐藏我们的后台登录地址. 关于zblogASP后台登录地址 ...

  8. Delphi XE2有什么新功能

    具体内容见PDF Delphi XE2有什么新功能Delphi XE2提供(offers)了令人兴奋(exciting)的新功能,让您能够建立高度可视化的,在Windows,Mac和iOS上的业务应用 ...

  9. lazarus的动态方法和虚拟方法

    动态方法和虚拟方法在delphi里面分别表示: 动态方法 当需要调用父类.祖先类的被覆盖方法的时候,是查找继承树,当找到,就调用.减少了VMT占用,但调用慢一些. 虚拟方法 和动态方法不同的是,记录了 ...

  10. Eclipse的下载及安装

    Eclipse的下载地址: https://www.eclipse.org/downloads/ 下载完成后,双击安装包即可安装 选择 Eclipse IDE for Java EE Decelope ...