linux系统每天自动巡检,输出到一个文件里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统每天自动巡检,输出到一个文件里相关的知识,希望对你有一定的参考价值。
维护20多台服务器,每天都要做日常巡检,比如检查CPU,磁盘等,怎么写脚本才能实现,每天自动巡检?希望能具体一点,谢谢
先把20台服务器的ssh登陆语句写进一个文本文件中host_name.txt,确保有一台机器可以通其他的19台服务器。
ssh跳转格式这样写:ssh 用户名@ip
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个主机,脚本最好加上错误日志记录,防止某些错误导致脚本异常终止。你可以多调试几遍,有问题的在一起交流。
参考技术A 把需要检查的指标写到一个shell里面,然后用crontab每天执行这个脚本,并把执行的结果ftp传送到某台机器上,哪么你只需要到一台机器上去看这个20台机器传送过来的文件就可以了。追问有详细的脚本吗
追答不知道你需要检查服务器上的那些指标,没有办法写详细的东西。
追问uptime /
free -g
top
df -kh
netstat -nr 大概就这些
有详细的脚本吗
以上是关于linux系统每天自动巡检,输出到一个文件里的主要内容,如果未能解决你的问题,请参考以下文章