#!/bin/bash DT=`date +%Y%m%d\ %H:%M:%S` ALL_OSD=`ls /var/lib/ceph/osd |sed 's/ceph-//g'` DAY=`echo $DT |awk '{print $1}'` function check_osd() { for osd in $ALL_OSD;do systemctl status ceph-osd@$osd.service &>/dev/null stat=$? if [ $stat -eq 0 ];then echo "$DT ceph-osd@$osd ok" elif [ $stat -eq 3 ];then systemctl start ceph-osd@$osd.service systemctl status ceph-osd@$osd.service echo "$DT ceph-osd@$osd down try restart .. $?" else echo "$DT ceph-osd@$osd unkown" fi done } check_osd >> /tmp/check_osd-$DAY.log