linxu批量小工具
阿新 • • 發佈:2018-12-19
perl batch.pl -tip /* * >顯示輸入使用者密碼和密碼及操作指令 * >ip.list格式: 192.168.1.1(多個IP以換行來識別) */ -format <cli|text|json> -i ip1 -u <username> -p <password> -P <port> -e <cmd1 cmd2 cmd3 cmdN> -format cli -i 192.168.1.10 -u root -p abc-123 -P 22 -e pwd date "ls -l" -format <cli|text|json> -f <ipListFile> -P <prot> -u <username> -p <password> -n <threadNum> -e <cmd1 cmd2 cmd3 cmdN> -format cli -f address.list -P 22 -u root -p abc-123 -n 5 -e who date pwd -format <cli|text|json> -a <ip1 ip2 ip3 ip4 ip5> -u <username> -p <password> -P <port> -e <cmd1 cmd2 cmd3 cmdN> -format cli -a 192.168.1.10 192.168.1.12 192.168.1.13 192.168.1.23 192.168.1.24 -u root -p abc-123 -P 22 -e pwd who /* * >從user.conf配置中讀取使用者和密碼 */ -format <cli|text|json> -i ip1 -e <cmd1 cmd2 cmd3 cmdN> -format cli -i 192.168.1.10 -e pwd date "ls -l" /* * > 從user.conf檔案讀取信任檔案 */ -format <cli|text|json> -i ip1 -u <username> -t -e <cmd1 cmd2 cmd3 cmdN> -format cli -i 192.168.1.10 -u root -t -e pwd -format <cli|text|json> -a <ip1 ip2 ip3 ip4 ip5> -t -u <username> -e <cmd1 cmd2 cmd3 cmdN> -format json -a 192.168.1.10 192.168.1.12 192.168.1.22 192.168.1.27 192.168.1.26 -t -u root -e pwd /* * >JSON檔案中配置IP,主機地址,埠,使用者,密碼,執行指令 * >格式如下(多個物件以換行識別): * >{"ip":"192.168.1.10","port":22,"username":"root","password":"abc-123","cmd":["pwd","date","ls -l"]} */ -format <cli|text|json> -j <jsonFile> -t -n <threadNum> -format cli -j address.json.list -t -n 5 /* * >指定JSON檔案配置,顯示輸入使用者,密碼,執行執行緒數 * >格式如下: * >{"ip":"192.168.1.12","cmd":["free -m","who","ls -l /home"]} */ -format <cli|text|json> -j <jsonFile> -P <port> -u <username> -p <password> -n <threadNum> -format cli -j address.json2.list -P 22 -u root -p abc-123 -n 5 /* * >指定信任檔案位置,顯示輸入使用者名稱,操作指令 * >指定JSON格式:{"ip":"192.168.1.12","cmd":["free -m","who","ls -l /home"]} */ -format <cli|text|json> -i ip1 -k <ssh公鑰檔案> -e <cmd1 cmd2 cmd3 cmdN> -format cli -i 192.168.1.10 -P 22 -u root -k /Users/mengfanzhen/.ssh/id_rsa -e pwd -format <cli|text|json> -a <ip1 ip2 ip3 ip4 ip5> -k <ssh公鑰檔案> -u <username> -P <port> -e <cmd1 cmd2 cmd3 cmdN> -format cli -a 192.168.1.10 192.168.1.12 192.168.1.22 192.168.1.27 192.168.1.26 -P 22 -u root -k /Users/mengfanzhen/.ssh/id_rsa -e pwd -format <cli|text|json> -j <jsonFile> -P <port> -u <username> -k <ssh公鑰檔案> -n <threadNum> -format cli -j address.json2.list -P 22 -u root -k /Users/mengfanzhen/.ssh/id_rsa -n 5 /* * >上傳檔案 * > lf:本地檔案 * > td:目標主機上的目錄 * > 後面兩命令使用者認證資訊是從user.conf配置檔案中讀取 * > ip.list格式: 192.168.1.1(多個IP以換行來識別) */ -i <ip> -P <port> -u <username> -p <password> -lf <localFile> -td <targetDirectory> -i 192.168.1.12 -P 22 -u root -p abc-123 -lf address.jso -td /tmp -i <ip> -P <port> -u <username> -p <password> -ld <localDirectory> -td <targetDirectory> -i 192.168.1.12 -P 22 -u root -p abc-123 -ld test -td /tmp -i <ip> -lf <localFile> -td <targetDirectory> -i 192.168.1.12 -lf address.jso -td /tmp -i <ip> -ld <localDirectory> -td <targetDirectory> -i 192.168.1.12 -ld test -td /tmp -f <ipFile> -n <threadNumber> -lf <localFile> -td <targetDirectory> -f address.list -n 5 -lf address.jso -td /tmp-f address.list -n 5 -lf address.jso -td /tmp /* * >本地SQL小工具 * >配置連線檔案位置:config/connConfig目錄 */ -C <SQLConConfig> -s <SQL語句> -C wisdom_db -s "select * from alarm_all" -C <SQLConConfig> -M -f <SQL檔案> -C wisdom_db -M -f sql.list
小demo
perl batch.pl -format cli -i 192.168.1.10 -e pwd date \"ls -l\" who ------------------------------------------------------------------------------------------------------------------------ 主機:[192.168.1.10:22] execCmds:[pwd, date, ls -l, who] ------------------------------------------------------------------------------------------------------------------------ exec[1]: pwd> /root exec[2]: date> Sun Nov 4 15:26:36 CST 2018 exec[3]: ls -l> total 3172 -rw-------. 1 root root 1259 Feb 10 2018 anaconda-ks.cfg -rw-r--r--. 1 root root 1583 Sep 8 09:04 ip.txt drwxr-xr-x. 5 501 games 91 Sep 16 12:38 linuxBatchUtil -rw-r--r--. 1 root root 3236177 Sep 15 09:53 linuxBatchUtil1.1.1.tar.gz exec[4]: who> root tty1 2018-09-16 12:19 root pts/0 2018-11-04 14:50 (192.168.1.102) root pts/1 2018-11-04 15:26 (192.168.1.102)