Kiểm tra service đang chạy? nếu nó stop thì tự động start lại service
how to auto start serivce if it is stoped
Trong thí dụ sau mình muốn start lại dịch vụ Web Apache: httpd bằng cách kiểm tra mỗi lần 1 phút, nếu phát hiện dịch vụ này down thì tự động start lại
1. tạo file service.sh với nội dung sau
Trích dẫn:
|
#!/bin/bash service=httpd
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 2 ))
then echo "$service is running!!!"
else /etc/init.d/$service start
fi
|
2. Kiểm tra dịch vụ từng phút, nếu thấy dịch vụ bị down thì start lại
#crontab -e
cho vào nội dung sau
Trích dẫn:
|
* * * * * /root/service.sh
|
#/etc/init.d/crond start
Add a cript auto run at boot
1. Tạo file service
#vi /etc/init.d/pingmeter
Trích dẫn:
|
#! /bin/sh
# chkconfig: 123 69 68
case "$1" in
start)
cd /root/pingmeter
iojs server.js &
;;
stop)
killall -v iojs
;;
esac
exit 0
|
2. Tạo file check nếu service is stoped thì start dịch vụ
# vi /root/start.sh
Trích dẫn:
|
#!/bin/bash service=iojs
if (($(ps -ef |grep iojs |wc -l) > 2 ))
then echo "$service is running!!!"
else /etc/init.d/pingmeter start
fi
|
3. Kiểm tra dịch vụ 1 phút 1 lần nếu phát hiện stop thì start lại
#crontab -e
cho vào nội dung sau
Trích dẫn:
|
* * * * * /root/start.sh
|
#/etc/init.d/crond start
4. Kiểm tra thêm dịch vụ có auto start at boot
#chkconfig --list
#chkconfig --level 35 pingmeter on