pssh

批量管理執行

補充說明

pssh命令 是一個python編寫可以在多臺服務器上執行命令的工具,同時支持拷貝文件,是同類工具中很出色的,類似pdsh,個人認爲相對pdsh更爲簡便,使用必須在各個服務器上配置好密鑰認證訪問。

安裝pssh

在CentOS系統環境下,介紹yum的安裝和源碼安裝的方式:

yum方法

1yum install pssh

編譯安裝

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

選項

 1--version:查看版本
 2--help:查看幫助,即此信息
 3-h:主機文件列表,內容格式”[user@]host[:port] 4-H:主機字符串,內容格式”[user@]host[:port] 5-:登錄使用的用戶名
 6-p:併發的線程數【可選】
 7-o:輸出的文件目錄【可選】
 8-e:錯誤輸入文件【可選】
 9-t:TIMEOUT 超時時間設置,0無限制【可選】
10-O:SSH的選項
11-v:詳細模式
12-A:手動輸入密碼模式
13-x:額外的命令行參數使用空白符號,引號,反斜線處理
14-X:額外的命令行參數,單個參數模式,同-x
15-i:每個服務器內部處理信息輸出
16-P:打印出服務器返回信息

實例

獲取每臺服務器的uptime:

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

查看每臺服務器上mysql複製IO/SQL線程運行狀態信息:

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

保存每臺服務器運行的結果:

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

我們來看一下/tmp/pssh/下的文件及其內容

 1# ll /tmp/pssh/
 2總用量 12
 3-rw-r--r--. 1 root root 70 12月  1 11:19 Feb.mars.he
 4-rw-r--r--. 1 root root 70 12月  1 11:19 Jan.mars.he
 5-rw-r--r--. 1 root root 69 12月  1 11:19 Mar.mars.he
 6
 7# cat /tmp/pssh/*
 811:19:55 up 4 days, 16:31,  2 users,  load average: 0.02, 0.03, 0.00
 911:19:56 up 3 days, 23:30,  0 users,  load average: 0.01, 0.00, 0.00
1011:19:56 up 4 days, 16:30,  1 user,  load average: 0.00, 0.00, 0.00

上面介紹的是pssh命令很少的一部分,大家可以將其用到適合自己的場景,發揮它的最大功效。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: