在主机上,我具有以下crontab命令:
* * * * * /usr/bin/docker exec container_name rm /tmp/*.txt
但是,当我通过docker exec container_name bash
登录到容器并查看/ tmp目录的内容时,我看到了所有.txt文件。登录并手动运行此rm命令后,所有.txt文件都会从/ tmp中清除。
我在容器上运行的其他crontab正在运行。
是什么原因导致它不起作用?
答案 0 :(得分:1)
汇总我的评论中的答案:
通过cron运行的命令与运行需要终端的bash所执行的命令不同。相反,一种更简单的方法是通过cron从主机上执行container:script.sh,该操作与
相同或您可以尝试使用引号:
#crontab
/usr/bin/docker exec container_name /bin/sh -c "rm /tmp/*.txt"