【Crontab】2. Ubuntu16+ docker镜像定时重启 - 实战
目录
1.docker中服务器重启后,如果设置了容器restart: always,请使用容器名来重启如
2. corntab -e 难编辑,使用 vi /etc/cron/创建folov5 即可
环境:
Ubuntu16+
Docker
场景:
生产环境docker其中一个服务需要定时重启
步骤:
一、安装crontab
1. 确认crontab是否安装
crontab -l
- 如果报 “command not found” ,说明crontab服务没有安装
- 如果报 “no crontab for root” ,说明已经安装crontab服务
2. 安装crontab服务
A. centos 系统,请执行以下命令:
- vixie-cron软件包是cron的主程序;
yum install -y vixie-cron
- rontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程
yum install crontabs
- 启动服务
/sbin/service crond start 或者 systemctl crond start
- 加入开机自动启动
chkconfig --level 35 crond on
B. ubuntu、debian系统,请执行以下命令:
- 安装crontab服务
apt-get install cron
- 启动crontab服务(同时还有service cron stop 停止服务,service cron restart 重启服务)
service cron start
3.测试是否安装成功了
继续执行上面第一条命令:crontab -l
这时会出现 “no crontab for root” 这是由于你还没有创建任何定时任务或者命令打错,即没有使用crontab -e命令去创建任何任务。但是到了这里,你的安装基本可以了。crontab命令详情请看下步
二. 新建定时重启文件
/etc/下新建cron文件夹 --> 创建yolov5(文件名)文件并编辑--> 加入定时重启指令
mkdir -m 777 cron
vi yolov5
三. 加入Crontab任务指令(立即成效)
crontab yolov5
四. 查看Crontab任务指令
crontab -l
五. 修改Crontab指令(立即成效)
crontab -e
注意事项:
1.docker中服务器重启后,如果设置了容器restart: always,请使用容器名来重启如
- 正确 * 16 * * * docker restart yolov5
- 错误 * 16 * * * docker restart 9e75c59dd479
原因:每次服务器重启,9e75c59dd479会变更
2. corntab -e 难编辑,使用 vi /etc/cron/创建folov5 即可
保存创建folov5 后使用 crontab -l 查看是否生效
3. crontab不生效问题,请移步
- 查看 cron启动状态 /etc/init.d/crond status
- 重启cron /etc/init.d/cron restart