w|显示目前登入系统的用户信息ab|Apache服务器的性能测试工具ip|网络配置工具ld|将目标文件连接为可执行程序xz|POSIX平台高压缩率的工具。ln|用来为文件创件连接ar|建立或修改备存文件,或是从备存文件中抽取文件lp|打印文件或修改排队的打印任务fg|将后台作业放到前台终端运行wc|统计文件的字节数、字数、行数as|汇编语言编译器at|在指定时间执行一个任务fc|修改历史命令并执行ls|显示目录内容列表id|显示用户的ID以及所属群组的IDvi|功能强大的纯文本编辑器bc|算术操作精密运算工具bg|用于将作业放到后台运行ex|启动vim编辑器的ex编辑模式ed|单行纯文本编辑器tr|将字符进行替换压缩和删除mv|用来对文件或目录重新命名du|显示文件目录的磁盘使用空间nc|命令用于设置路由器。nl|在Linux系统中计算文件内容行号nm|显示二进制目标文件的符号表cd|切换用户当前工作目录od|输出文件八/十六进制格式编码pr|将文本文件转换成适合打印格式su|切换当前用户到其他用户身份ps|报告当前系统的进程状态ss-获取socket统计信息sh|shell命令解释器pv|命令行执行的命令的进度信息df 显示磁盘的相关信息dd|复制文件并对原文件的内容进行转换和格式化处理rm|用于删除给定的文件和目录cu|用于连接另一个系统主机。cp|将源文件或目录复制man 查看Linux中的指令帮助sar|系统运行状态统计工具rsh|连接远程主机并执行命令rpm|RPM软件包的管理工具sed|功能强大的流式文本编辑器seq|以指定增量从首数开始打印zip|可以用来解压缩文件cut|连接文件并打印到标准输出设备set|显示或设置shell特性及shell变量rcp|使在两台Linux主机之间的文件复制操作更简单col|过滤控制字符pwd|绝对路径方式显示工作目录pvs|输出物理卷信息报表cmp 比较两个文件是否有差异dig|域名查询工具ssh|openssh套件中客户端连接工具sum|计算文件的校验码和显示块数dnf|新一代的RPM软件包管理器php|PHP语言的命令行接口tac|将文件已行为单位的反序输出cat|连接文件并打印到标准输出设备cal|显示当前日历或指定日期的日历tar|Linux下的归档使用工具tee|数据重定向到给定文件和屏幕上top|显示或管理执行中的程序bye|用于中断FTP连线并结束程序scp 加密的方式在本地主机和远程主机之间复制文件elm|纯文本邮件客户端程序env|显示系统中已存在的环境变量tty|显示连接到当前标准输入的终端设备文件名。awk|文本和数据进行处理编程语言lpr|文件发送给指定打印机进行打印atq|列出当前用户的at任务列表lpq|显示打印队列中的打印任务信息arp|显示和修改IP到MAC转换表lpc|命令行方式打印机控制程序arj|用于创建和管理.arj压缩包who|显示目前登录系统的用户信息fmt|读取文件后优化处理并输出ftp|用来设置文件系统相关功能lha|压缩或解压缩lzh格式文件let|简单的计算器gcc|基于C/C++的编译器gdb|功能强大的程序调试器ldd|打印程序/库文件所依赖库列表yes|重复打印指定字符串git|是目前世界上最先进的分布式版本控制系统gpm|提供文字模式下滑鼠事件处理joe|强大的纯文本编辑器jed|主要用于编辑代码的编辑器yum|基于RPM的软件包管理器rev|文件内容以字符为单位反序输出chfn|用来改变finger命令显示的信息sudo|以其他身份来执行命令pssh|批量管理执行bind|显示或设置键盘按键相关功能dirs|显示目录记录stty|修改终端命令行的相关设置popd|用于删除目录栈中的记录stat|用于显示文件的状态信息pmap|报告进程的内存映射关系

pssh|批量管理执行

pssh

批量管理执行

补充说明

pssh命令 是一个python编写可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的,类似pdsh,个人认为相对pdsh更为简便,使用必须在各个服务器上配置好密钥认证访问。

安装pssh

在CentOS系统环境下,介绍yum的安装和源码安装的方式:

yum方法

yum install pssh

编译安装

wget http://parallel-ssh.googlecode.com/files/pssh-2.3.1.tar.gz
tar xf pssh-2.3.1.tar.gz
cd pssh-2.3.1/
python setup.py install

选项

--version:查看版本
--help:查看帮助,即此信息
-h:主机文件列表,内容格式”[user@]host[:port]”
-H:主机字符串,内容格式”[user@]host[:port]”
-:登录使用的用户名
-p:并发的线程数【可选】
-o:输出的文件目录【可选】
-e:错误输入文件【可选】
-t:TIMEOUT 超时时间设置,0无限制【可选】
-O:SSH的选项
-v:详细模式
-A:手动输入密码模式
-x:额外的命令行参数使用空白符号,引号,反斜线处理
-X:额外的命令行参数,单个参数模式,同-x
-i:每个服务器内部处理信息输出
-P:打印出服务器返回信息

实例

获取每台服务器的uptime:

# pssh -h ip.txt -i uptime
[1] 11:15:03 [SUCCESS] Mar.mars.he
11:15:11 up 4 days, 16:25,  1 user,  load average: 0.00, 0.00, 0.00
[2] 11:15:03 [SUCCESS] Jan.mars.he
11:15:12 up 3 days, 23:26,  0 users,  load average: 0.00, 0.00, 0.00
[3] 11:15:03 [SUCCESS] Feb.mars.he
11:15:12 up 4 days, 16:26,  2 users,  load average: 0.08, 0.02, 0.01

查看每台服务器上mysql复制IO/SQL线程运行状态信息:

# pssh -h IP.txt -i "/usr/local/mysql/bin/mysql -e 'show slave status \G'"|grep Running:
             Slave_IO_Running: yes
            Slave_SQL_Running: Yes
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes
             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

保存每台服务器运行的结果:

# pssh -h IP.txt -i -o /tmp/pssh/ uptime
[1] 11:19:47 [SUCCESS] Feb.mars.he
11:19:55 up 4 days, 16:31,  2 users,  load average: 0.02, 0.03, 0.00
[2] 11:19:47 [SUCCESS] Jan.mars.he
11:19:56 up 3 days, 23:30,  0 users,  load average: 0.01, 0.00, 0.00
[3] 11:19:47 [SUCCESS] Mar.mars.he
11:19:56 up 4 days, 16:30,  1 user,  load average: 0.00, 0.00, 0.00

我们来看一下/tmp/pssh/下的文件及其内容

# ll /tmp/pssh/
总用量 12
-rw-r--r--. 1 root root 70 12月  1 11:19 Feb.mars.he
-rw-r--r--. 1 root root 70 12月  1 11:19 Jan.mars.he
-rw-r--r--. 1 root root 69 12月  1 11:19 Mar.mars.he

# cat /tmp/pssh/*
11:19:55 up 4 days, 16:31,  2 users,  load average: 0.02, 0.03, 0.00
11:19:56 up 3 days, 23:30,  0 users,  load average: 0.01, 0.00, 0.00
11:19:56 up 4 days, 16:30,  1 user,  load average: 0.00, 0.00, 0.00

上面介绍的是pssh命令很少的一部分,大家可以将其用到适合自己的场景,发挥它的最大功效。

链接: https://fly63.com/course/31_1523