linux系统每天自动巡检,输出到一个文件里

linux系统每天自动巡检,输出到一个文件里,第1张

先把20台服务器的ssh登陆语句写进一个文本文件中host_name.txt,确保有一台机器可以通其他的19台服务器。

ssh跳转格式这样写:ssh 用户名@ip

#!/bin/bash

check_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。可以用你熟悉的语言来写,应该不难。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/6101051.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存