I tried to run a cron job inside a docker container but nothing works for me.
My container has only cron.daily and cron.weekly files.
crontab,cron.d,cron.hourly are absent in my container.
crontab -e is also not working.
My container runs with /bin/bash.

推荐答案

下面是我如何运行我的一个cron容器.

Dockerfile:

FROM alpine:3.3

ADD crontab.txt /crontab.txt
ADD script.sh /script.sh
COPY entry.sh /entry.sh
RUN chmod 755 /script.sh /entry.sh
RUN /usr/bin/crontab /crontab.txt

CMD ["/entry.sh"]

crontab.txt

*/30 * * * * /script.sh >> /var/log/script.log

entry.sh

#!/bin/sh

# start cron
/usr/sbin/crond -f -l 8

script.sh

#!/bin/sh

# code goes here.
echo "This is a script, run by cron!"

像这样建造

docker build -t mycron .

像这样跑

docker run -d mycron

添加自己的脚本并编辑crontab.txt,然后构建图像并运行.因为它是基于阿尔卑斯山的,所以图像非常小.

Linux相关问答推荐

BASH-SCRIPT-在特定行合并两个文件

Postfix 连接到 domain.com[74.208.61.85]:587: 连接被 dovecot、opendkim 和 SSL 拒绝

BASH:在curl输出的每一行添加前缀

通过 ssh 在远程计算机上按索引访问数组元素

在 Linux 上的 std::threads 中创建子进程

如何验证所有 csv 文件是否具有相同的第一行?

如何从linux调度程序中屏蔽一个cpu(防止它调度线程到那个cpu上)?

如何使用 __attribute__((visibility("default")))?

从 Linux 到 Windows 交叉编译 C++ 应用程序的手册?

在 Linux/POSIX 系统上获取用户全名的最简单方法是什么?

exec 系统调用(如 exec 和 execve)系列的功能有什么区别?

execv() 和 fork() 的时间浪费

Pthread mutex互斥断言错误

谁决定任何数据类型或 struct 的大小(取决于 32 位或 64 位)?

Anaconda:禁用提示更改

Linux 守护进程

如何在 sed 中指定非捕获组?

linux脚本杀死java进程

libaio.so.1:无法打开共享对象文件

当系统说当前在进程中使用时,如何在linux中删除用户