服务器安装 jenkins 持续集成,jenkins 常常会挂掉,那么就需要想办法让jenkins 在挂掉后自动重启。
本文采用 shell脚本 + crontab 来定时检测 jenkins 运行状态,如果挂掉了就重启
先了解一些预备知识
linux 清空文件内容的方法
1 | $ : > filename |
linux 判断文件行数的方法
1 | $ cat test1.sh |wc -l |
Linux crontab命令
- -e : 执行文字编辑器来设定时程表
- -r : 删除目前的时程表
- -l : 列出目前的时程表
时程表的格式如下:
1 | f1 f2 f3 f4 f5 program |
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。
下面看看几个的例子:1
2
3
4
5
6
70 */3 * * * /sbin/service httpd restart 意思是每3个小时重启一次apache
30 8 * * * /sbin/service sshd start 意思是每天8:30开启ssh服务
59 23 * * * /sbin/service sshd stop 意思是每天23:59关闭ssh服务
0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘
检测 jenkins shell 脚本
1 |
|
在 crontab 中设置定时执行命令
1 | crontab -e |
1 | */5 * * * * /bin/sh /root/check_jenkins.sh >/dev/null 2>&1 |
然后在 log 查看 cron 日志
1 | $ cd /var/log |
好的文字有着水晶般的光辉,仿佛来自星星。
——王小波