Linux系统配置定时任务

懵懂的女人 提交于 2020-02-05 04:17:24

欢迎访问自建博客原文:
http://www.e-lionel.com/index.php/2019/12/05/112/

安装crontab:

yum install -y vixie-cron crontabs

脚本:检查nginx状态,如果nginx没有运行就重启

vim /home/check_nginx.sh
function log(){
    echo "[`date +"%Y-%m-%d %H:%M:%S"`]  $1"
}

status=`/sbin/service nginx status | sed -n '1p;1q'`
log "Nginx status is : $status"


if [[ $status == *running* ]]
then
    log 'Nginx is OK.'
else
    log 'Nginx is Die.'

    log 'nginx -s stop'
    /usr/sbin/nginx -s stop
    log 'ps -aux | grep nginx | grep -v grep | grep process | nl | awk {print $3} | xargs kill -9'
    ps -aux | grep nginx | grep -v grep | grep process | nl | awk '{print $3}' | xargs kill -9
    log 'nginx -c /etc/nginx/nginx.conf'
    /usr/sbin/nginx -c /etc/nginx/nginx.conf
fi
log '----------------------------------------------------------------------------------'

授予执行权限:

chmod +x /home/check_nginx.sh

创建定时任务:

crontab -e

#检测nginx状态,每10秒检查一次。centos上crontab最小间隔是1分钟

/bin/sh /home/check_nginx.sh >> /home/check_nginx.log

创建日志文件:

touch /home/check_nginx.log

使定时任务生效:

service crond restart
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!