脚本作用:获取主机各个服务的状态,判断是否符合要求,若不符合则修改为需求参数。
#!/bin/bash
cur_date=“`date +%Y-%m-%d`”
disabled_service=“abrt-ccpp.service abrt-oops.service [list3] [list4] ……”
enabled_service=“atd.service autovt@.service [list3] [list4] ……”
for service in $disabled_service $enabled_service anaconda-shell@.service
do
systemctl list-unit-files -t service |grep $service > /dev/null 2>&1
if [ $? == 0 ];then
echo “is successful, $service 服务已安装” >>/tmp/$(hostname)_shell_$cur_date_$cur_date.log
else
yum -y install $service > /dev/null 2>&1
if [ $? == 0 ];then
echo “$service服务未安装,已修复” >>/tmp/$(hostname)_shell_$cur_date_$cur_date.log
else
echo “is Unsuccessful !!! $service服务安装失败” >> /tmp/$(hostname)_shell_$cur_date_$cur_date.log
fi
fi
done
for list1 in $disabled_service
do
systemctl list-unit-files -t service |grep $disabled > /dev/null 2>&1
if [ $? == 0 ];then
echo “$list1 is successful ” >>/tmp/$(hostname)_shell_$cur_date_$cur_date.log
else
systemctl disable $list1 > /dev/null 2>&1
if [ $? == 0 ];then
echo “$list1服务启动参数不同于建议值,已修复” >>/tmp/$(hostname)_shell_$cur_date_$cur_date.log
else
echo “is Unsuccessfully !!! $list1 服务启动参数不同于建议值,修改失败” >>/tmp/$(hostname)_shell_$cur_date_$cur_date.log
fi
fi
done
注:上面脚本我只写了disabled service的判断操作,其余的enable、indirect、static的巡检脚本与上面写的脚本语句格式类似。