先把20台服务器的ssh登陆语句写进一个文本文件中host_name.txt,确保有一台机器可以通其他的19台服务器。
ssh跳转格式这样写:ssh 用户名@ip
#!/bin/bashcheck_sev()
{
ssh_ip=$1
$ssh_ip<<!
vmstat 1 10
iostat 1 10
exit
!
echo
}
echo `date "+%D"`>>check_host.log
while read line
do
echo "---------------------------------">>check_host.log
echo "$line date '+%F %T'">>check_host.log
check_sev $line>>check_host.log
done<host_name.txt
将上面的脚本放在一个主机上,用crontab提交每日任务,
30 10 * * * 上面脚本的目录地址
将以上内容写进xx.cron中,crontab xx.cron 提交就是每天的10:30运行你上面的检查脚本。
具体crontab的用户你可以百度。
====================================================================
第一个脚本本人纯手打,并没有试,还有不少漏洞,你可以自行修改,比如你这个放脚本的服务器必须能无密码ssh登陆其他19个主机,脚本最好加上错误日志记录,防止某些错误导致脚本异常终止。你可以多调试几遍,有问题的在一起交流。
你可以在每台服务器上面放同一个脚本。
这个linux脚本加入cron,这个脚本每天定时把df -k free -m uptime 这三项的结果保存到文本文件里面,比如uptime可以保存到uptime_20140112.txt,以此类推。
然后脚本把这些文件ftp到一个单独的服务器上面,比如192.168.1.100,这个服务器可以是windows。
然后写个程序读当天或者几天的txt文件,然后输出到excel。可以用你熟悉的语言来写,应该不难。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)