主机中容器内部的Cron任务

新坟

我正在从主机尝试在容器内执行cron任务,但是没有运气。从主机,我在下面添加以下行crontab -e

* * * * * docker exec -it sample_container bash -c 'touch /selected/directory/temp$(date +%H-%M)'

但这是行不通的。有趣的是,当我在crontab之外独立运行命令时,它已成功执行。谁能解释我在这里想念的东西吗?

Zeitounator

注意:使用cron调试此类问题时,您应该在本地系统邮件中查找错误,或者通过[email protected]在crontab文件顶部添加来将错误重定向至真实邮件


您的crontab命令有2个问题

TLDR;固定的cron表达式

* * * * * docker exec sample_container bash -c 'touch /selected/directory/temp$(date +\%H-\%M)'

%在crontab中具有特殊含义

man -s 5 crontab

%除非使用反斜杠(\进行转义,否则命令中的百分号)将被更改为换行符,并且第一个后的所有数据%将作为标准输入发送至命令。

因此,您需要%在日期格式字符串中转义那些符号

Cron不分配tty

Cron不分配tty,而您正在尝试执行命令时使用tty(即的-t选项docker exec)。因此,该命令将失败并显示错误the input device is not a TTY

-i无论如何,您都不需要交互()或分配tty来执行此命令,因此您必须删除这些选项以从cron启动它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从Docker容器内部连接到主机网络上的IP地址

来自分类Dev

在颤动中单击容器内部

来自分类Dev

从执行的任务中检索当前主机

来自分类Dev

共享主机上PHP中的异步任务

来自分类Dev

从执行的任务中检索当前主机

来自分类Dev

在 GoDaddy windows 共享主机中安排任务

来自分类Dev

Docker-修改容器中主机的IPTABLES

来自分类Dev

主机中的Cassandra容器动态存储

来自分类Dev

Docker容器中与主机同步的时间

来自分类Dev

在Docker容器中获取主机IP

来自分类Dev

在Docker容器中以主机用户身份运行

来自分类Dev

rm容器时如何自动从主机中删除容器数据?

来自分类Dev

cron作业未在docker容器中执行

来自分类Dev

nginx docker容器中cron的问题

来自分类Dev

从Docker容器内部对本地主机的内部Tomcat REST调用

来自分类Dev

如何连接以在远程主机上的Docker容器内运行ansible任务(通过ssh)

来自分类Dev

在不同主机上的Docker中运行cron的问题

来自分类Dev

cron作业未在laravel 5.2的goDaddy共享主机中运行

来自分类Dev

cron作业未在laravel 5.2的goDaddy共享主机中运行

来自分类Dev

列出任务清单文件中的所有主机

来自分类Dev

如何在ansible中的特定主机上运行特定任务

来自分类Dev

如何告诉Ansible在任务中包括本地主机

来自分类Dev

如何从主机连接到在容器中运行的mysql

来自分类Dev

无法从Docker容器中访问MacOSX主机上的端口

来自分类Dev

如何将Docker容器中的目录挂载到主机?

来自分类Dev

如何从主机访问在docker容器中运行的mysql?

来自分类Dev

如何减轻Docker容器中的特权升级以保护主机FS

来自分类Dev

如何将Docker容器中的目录挂载到主机?

来自分类Dev

在Nginx中通过主机名动态查找容器的地址

Related 相关文章

  1. 1

    从Docker容器内部连接到主机网络上的IP地址

  2. 2

    在颤动中单击容器内部

  3. 3

    从执行的任务中检索当前主机

  4. 4

    共享主机上PHP中的异步任务

  5. 5

    从执行的任务中检索当前主机

  6. 6

    在 GoDaddy windows 共享主机中安排任务

  7. 7

    Docker-修改容器中主机的IPTABLES

  8. 8

    主机中的Cassandra容器动态存储

  9. 9

    Docker容器中与主机同步的时间

  10. 10

    在Docker容器中获取主机IP

  11. 11

    在Docker容器中以主机用户身份运行

  12. 12

    rm容器时如何自动从主机中删除容器数据?

  13. 13

    cron作业未在docker容器中执行

  14. 14

    nginx docker容器中cron的问题

  15. 15

    从Docker容器内部对本地主机的内部Tomcat REST调用

  16. 16

    如何连接以在远程主机上的Docker容器内运行ansible任务(通过ssh)

  17. 17

    在不同主机上的Docker中运行cron的问题

  18. 18

    cron作业未在laravel 5.2的goDaddy共享主机中运行

  19. 19

    cron作业未在laravel 5.2的goDaddy共享主机中运行

  20. 20

    列出任务清单文件中的所有主机

  21. 21

    如何在ansible中的特定主机上运行特定任务

  22. 22

    如何告诉Ansible在任务中包括本地主机

  23. 23

    如何从主机连接到在容器中运行的mysql

  24. 24

    无法从Docker容器中访问MacOSX主机上的端口

  25. 25

    如何将Docker容器中的目录挂载到主机?

  26. 26

    如何从主机访问在docker容器中运行的mysql?

  27. 27

    如何减轻Docker容器中的特权升级以保护主机FS

  28. 28

    如何将Docker容器中的目录挂载到主机?

  29. 29

    在Nginx中通过主机名动态查找容器的地址

热门标签

归档