crontab ทำหน่วยวินาทีไม่ได้ ใช้ sh แทนได้

crontab ไม่สามารถทำหน่วยวินาทีได้ เราสามารถใช้ sh แทนได้

vi every-5-sec.sh

ตัวอย่างรันทุกๆ 5 วิ แบบเขียน log ทับของเดิม

#!/bin/bash
while true
do
 SERVICE='httpd'
 if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
 echo "$dt $SERVICE service running, everything is fine"
 else
 /sbin/service httpd start
 fi
SERVICE='mysqld'
 if ps ax | grep -v grep | grep $SERVICE > /dev/null
then
 echo "$dt $SERVICE service running, everything is fine"
 else
 /sbin/service mysqld start
 fi

if [ ! "$(docker ps -q -f id=ab2c8fdeb9db)" ]; then
    # run your container
    docker start ab2c8fdeb9db
    echo "AUTORESTART docker elasticsearch"
else

echo "$dt docker elasticsearch is running, everything is fine"
fi
 sleep 5
 > /home/self-healing.log
done

รัน background

nohup ./every-5-sec.sh &

หากต้องใช้ curl และเทียบ string

 response=$(curl --connect-timeout 10 localhost:8081);
 if [ "xxx" == "${response}" ];
then
 ..
 else
 ..
 fi

Related posts:

This entry was posted in centos6. Bookmark the permalink.