docker镜像中的定时任务
来源:互联网 发布:淘宝开店企业交税 编辑:程序博客网 时间:2024/06/04 19:56
crond作为linux定时任务的服务提供者,基本上linux上都会将此服务启动起来.但是在docker镜像中就未必如此了。很多时候镜像中没有crond服务,如果又不太方便安装,或者统一的镜像不太好为一个特殊的需求特意提供此项功能的时候,可以考虑使用外部的crontab通过docker exec来执行确认结果。
Crond服务确认
centos7上已经使用了systemd,所以不再是init.d,使用systemctl status crond则可确认crond的运行状态。
[root@liumiaocn ~]# systemctl status crond● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2017-05-08 05:16:54 EDT; 1 months 24 days ago Main PID: 2334 (crond) Memory: 84.0K CGroup: /system.slice/crond.service └─2334 /usr/sbin/crond -nMay 08 05:16:54 liumiaocn systemd[1]: Started Command Scheduler.May 08 05:16:54 liumiaocn systemd[1]: Starting Command Scheduler...May 08 05:16:54 liumiaocn crond[2334]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 77% if used.)May 08 05:16:55 liumiaocn crond[2334]: (CRON) INFO (running with inotify support)Jun 19 02:37:01 liumiaocn crond[2334]: (*system*) RELOAD (/etc/crontab)Jun 19 02:53:01 liumiaocn crond[2334]: (root) RELOAD (/var/spool/cron/root)Jul 01 20:49:01 liumiaocn crond[2334]: (root) RELOAD (/var/spool/cron/root)Jul 01 20:54:01 liumiaocn crond[2334]: (root) RELOAD (/var/spool/cron/root)Jul 01 21:04:01 liumiaocn crond[2334]: (root) RELOAD (/var/spool/cron/root)Jul 02 02:00:01 liumiaocn crond[2334]: (root) RELOAD (/var/spool/cron/root)[root@liumiaocn ~]#
确认crond进程
在systemctl status crond 中确认到了其启动的PID,所以使用其可以确认状态
[root@liumiaocn ~]# ps -ef |grep 2334 |grep -v greproot 2334 1 0 May08 ? 00:00:17 /usr/sbin/crond -n[root@liumiaocn ~]#
crontab命令与设定文件
crontab命令
使用如下常见命令可以当前用户或者指定用户的定时任务进行编辑或者查看
设定文件
以root为例,其crontab的设定文件为/var/spool/cron/root
crontab文件格式
crontab例: 每分钟执行一次/tmp/check_system.sh
* * * * * /tmp/check_system.sh
格式说明:
cron日志
cron运行结果的日志如下所示:
例子信息如下
liumiaocn CROND[15747]: (root) CMD (docker exec -it ...
其他确认信息
其他确认信息,有时mail的日志也能提示一定信息. 比如在cron日志可以看到docker exec -it 的信息,但是没有报错,发现没有执行,
结果在如下的mail日志中发现了”the input device is not a TTY”的错误提示,提示了t(for tty),所以直接docker exec 就没有问题了,错误信息的提示有的时候还是很重要的,不然有可能很简单的错误都容易被视而不见。
阅读全文
1 0
- docker镜像中的定时任务
- Docker中的镜像
- 如何避免Docker容器启动脚本运行后自动退出——一个cron定时任务docker镜像方案
- [Docker]Docker镜像
- spring中的定时任务
- spring中的定时任务
- spring中的定时任务
- python中的定时任务
- Android中的定时任务
- Java 中的定时任务
- Spring中的定时任务
- Oracle中的定时任务
- Linux中的定时任务
- Go中的定时任务
- android中的定时任务
- mysql中的定时任务
- 【Docker】docker镜像原理
- 【Docker】Docker构建镜像
- 1080P 的显示器上,4K 的视频是否看起来比 1080P 的视频更清晰
- 计算机网络
- UVA-1347
- 数据分析(入门篇)-第三章-无米难为巧妇——数据准备
- DataNode寻找NameNode
- docker镜像中的定时任务
- 深入理解javascript原型和闭包
- sklearn.preprocessing.PolynomialFeatures
- 剑指offer——正则表达式匹配(好题)
- OSG学习:移动/缩放/旋转模型
- 【JSP页面】提示用户字数限制
- Git协同开发之项目同步
- 欢迎使用CSDN-markdown编辑器
- C++模拟实现静态顺序表