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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux系统每天自动巡检,输出到一个文件里相关的知识,希望对你有一定的参考价值。

维护20多台服务器,每天都要做日常巡检,比如检查CPU,磁盘等,怎么写脚本才能实现,每天自动巡检?希望能具体一点,谢谢

先把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个主机,脚本最好加上错误日志记录,防止某些错误导致脚本异常终止。你可以多调试几遍,有问题的在一起交流。

参考技术A 把需要检查的指标写到一个shell里面,然后用crontab每天执行这个脚本,并把执行的结果ftp传送到某台机器上,哪么你只需要到一台机器上去看这个20台机器传送过来的文件就可以了。追问

有详细的脚本吗

追答

不知道你需要检查服务器上的那些指标,没有办法写详细的东西。

追问

uptime /
free -g
top
df -kh
netstat -nr 大概就这些

参考技术B 用crontab,把你的脚本准备好,在crontab配置一下就ok了。追问

有详细的脚本吗

以上是关于linux系统每天自动巡检,输出到一个文件里的主要内容,如果未能解决你的问题,请参考以下文章

红帽linux如何做系统巡检,如何输出到指定的文本上,求高手赐教,

Linux系统巡检shell脚本

每天一个linux命令(11):nl命令

日志巡检

写了个自动巡检多个接口地址的脚本!

精品Linux系统硬件网络系统及安全巡检邮箱告警脚本shell脚本