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
Linux批量远程命令和上传下载工具的更多相关文章
- [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...
- ssh远程 和 上传/下载工具
常用的ssh远程工具有: putty : 软件体积小,开源免费. xshell : 功能强大,亦有免费试用版本 SecureCRT : 功能强大 ftp : 该软件用于上传下载文件 通过ssh ...
- Linux下安装lrzsz上传下载工具
使用yum安装 为什么要使用yum安装? 答:安装十分方便,几乎不需要别的操作,只需要一个yum命令就可以完成所有的安装过程. yum -y install lrzsz 要有网络才行 输入命令:rz ...
- linux下常用FTP命令 上传下载文件【转】
1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...
- linux CentOS 安装rz和sz命令 lrzsz 实现windows和linux之间的文件上传 下载
https://blog.nbhao.org/1902.html https://bbs.csdn.net/topics/391989523 https://www.cnblogs.com/zhoul ...
- Java实现FTP批量大文件上传下载篇1
本文介绍了在Java中,如何使用Java现有的可用的库来编写FTP客户端代码,并开发成Applet控件,做成基于Web的批量.大文件的上传下载控件.文章在比较了一系列FTP客户库的基础上,就其中一个比 ...
- FTP上传下载工具(FlashFXP) v5.5.0 中文版
软件名称: FTP上传下载工具(FlashFXP) 软件语言: 简体中文 授权方式: 免费试用 运行环境: Win 32位/64位 软件大小: 7.4MB 图片预览: 软件简介: FlashFXP 是 ...
- ftp上传下载工具类
package com.taotao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...
- (转载)基于Bash命令行的百度云上传下载工具
原文链接:http://hi.baidu.com/meoow/item/aef5814bbd5be3e1bcf451e9 这是我根据百度云PCS的API写的一个基于bash的命令行工具, 使用了cur ...
随机推荐
- vue2.0生命周期详解
首先上图展 <template> <div id="home"> <p>{{ message }}</p> </div> ...
- python3.5.2中文字符乱码问题解决
>>> str = "世界你好!" >>> b = str.encode('utf-8') >>> type(b) <c ...
- c# 把对象加入队列,对象为全局变量,对象改变队列值也跟着改变
若程序把对象加入队列,对象为全局变量,对象改变队列值也跟着改变,如下: filecontent 为两个字段的属性值. class FileContent { // public string Htt ...
- 使用/\_ 打印正三角形 C/C++
输入size,level,使用/\_,打印正三角形 #include<stdio.h> int main() { int level, size; printf("Enter l ...
- PAT 1063 计算谱半径(20)(代码)
1063 计算谱半径(20 分) 在数学中,矩阵的"谱半径"是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a1+b1i,⋯,an+ ...
- java读取properties文件时候要注意的地方
java读取properties文件时,一定要注意properties里面后面出现的空格! 比如:filepath = /home/cps/ 我找了半天,系统一直提示,没有这个路径,可是确实是存在的, ...
- oracle表或视图不存在和标识符无效的问题解决
通过dbvisualizer修改表的名字时,一定要改成大写,否则会报错,数据库中没有该表的错误. 如果新的表名为小写,不行! select的时候,可以用小写名. 标识符无效解决:字段名默认都是大写的, ...
- CH6802 車的放置
原题链接 和棋盘覆盖(题解)差不多. 将行和列看成\(n+m\)个节点,且分属两个集合,如果某个节点没有被禁止,则行坐标对应节点向列坐标对应节点连边,然后就是求二分图最大匹配了. #include&l ...
- Servlet 3.0 规范(二)注解驱动和异步请求
Servlet 3.0 规范(二)注解驱动和异步请求 在 Servlet 3.0 时支持注解启动,不再需要 web.xml 配制文件. 一.Servlet 3.0 组件 Servlet 容器的组件大致 ...
- JS closure
闭包的概念 闭包,不同于一般的函数,它允许一个函数在立即词法作用域外调用时,仍可访问非本地变量. --维基百科 闭包就是能够读取其他函数内部变量的函数. --阮一峰 由于在Javascript语言中, ...