- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux服务器批量巡检脚本使用说明
文件说明该Shell脚本旨在针对大量Linux服务器的巡检提供一种相对自动化的解决方案。脚本组成有三部分:shellsh.sh、checksh.sh、file.txt;这三个文件需放在一个文件夹下以root权限执行,缺一不可。脚本用法将要巡检的服务器的IP地址和对应的密码全部放入file.txt中保存,每行一个IP对应一个密码即可。然后用如下命令运行:#./ shellsh.sh file.txt 192.168.182.143 123456其中file.txt可以更换文件名,192.168.182.143为你想保存巡检日志的到哪个服务器的服务器IP,123456为该服务器的密码。运行结果运行完后会在192.168.182.143服务器的/tmp目录下升成一个目录,即:GatherLogDirectory这个目录下即存放的是被巡检的服务器的巡检日志,这些日志以被巡检的服务器的IP命名,形如:192.168.182.146.log。在被巡检的服务器上会升成两个目录即:CheckScript、 LocalServerLogDirectory;其中CheckScript中是checksh.sh脚本,LocalServerLogDirectory中存放的是checksh.sh在该服务器上运行后升成的日志。测试结果我只在虚拟机上的三台Linux系统上测试过,分别是Ubuntu、RedHat、Kali。运行正常,平均巡检一个服务器花费3分钟。脚本代码shellsh.sh#!/bin/bashlogin_info=$1gather_server_ip=$2gather_server_password=$3grep_ip=`ifconfig | grep \([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\} --color=auto -o | sed -e 2,5d`GatherPath=/tmp/GatherLogDirectoryCheckScriptPath=/tmp/CheckScriptif [ $# -ne 3 ]; then echo -e Parameters if fault!\n echo -e Please using:$0 login_info gather_server_ip\n echo -e For example: $0 IpAndPassword.txt $grep_ip\n exit;fiif [ ! -x $GatherPath ];then mkdir $GatherPath echo -e The logs path is: $GatherPathficat $login_info | while read linedo server_ip=`echo $line|awk {print $1}` server_password=`echo $line|awk {print $2}` login_server_command=ssh -o StrictHostKeyChecking=no root@$server_ip scp_gather_server_checksh=scp checksh.sh root@$server_ip:$CheckScriptPath/usr/bin/expectEOF set timeout 20 spawn $login_server_command expect { *yes/no { send yes\r; exp_continue } *password: { send $server_password\r } } expect Permission denied, please try again. {exit} expect # { send mkdir $CheckScriptPath\r} expect eof exitEOF/usr/bin/expectEOF set timeout 20 spawn $scp_gather_server_checksh expect { *yes/no { send yes\r; exp_continue } *password: { send $server_password\r } }e
文档评论(0)