Docker容器内运行定时任务crontab

2019-02-07  本文已影响0人  孤远

基础镜像: centos

容器启动时执行

/usr/sbin/crond -i(后台执行)

即可。

对,就这么简单。

定义cron job有两种方式:

1、使用命令crontab -e;

2、vim编辑/etc/crontab;

其中,前者是在当前用户下的定时任务,不用加用户,后者只有root才可以编辑,需要多指定一个执行用户。

题外话,有人用systemctl start crond.service,来启动crond,这里有一个巨大的冲突,就是systemctl依赖initd进程,Linux操作系统的initd进程必须占用1号进程,而docker的启动脚本也是1号进程,虽然这个冲突可以通过/usr/sbin/systemd --system来避免,但执行systemctl命令还是可能有操作权限的问题,因此,直接启动crond即可。

上一篇 下一篇

猜你喜欢

热点阅读