docker下创建crontab定时任务失败
创建过程
基础镜像采用的centos7.2,需要安装一下crontab,在dockerfile中加以下语句就可以了:
# crontab jobs
RUN yum -y install crontabs
ADD ./run/nlp-cron /etc/cron.d/nlp-cron
RUN chmod 0644 /etc/cron.d/nlp-cron
RUN crontab /etc/cron.d/nlp-cron
其中nlp-cron是定时任务的配置,内容是下面这样的:
* * * * * sh test.sh >/dev/null 2>&1
后来启动了镜像,发现定时任务并不能正常启动,于是开启了漫长的排错过程。
排错1
首先进入docker的容器,用crontab -l
看了一下,任务实际上是存在的,可以证明是任务没有启动/执行成功而已。
同时在容器中,执行了一下想要做的操作,发现没有任何问题,说明代码没有问题。
排错2
创建镜像的过程是参考这里做的,按理说不缺什么步骤,于是又按照他的过程重新弄了一下,发现系统命令可以执行。
此时又问了一下同事,说最好用全路径。我本身执行的是python命令,于是whereis python
找了一下全路径,改了之后,发现还是没有执行成功。
于是在py文件里加了各种print,发现一个问题写文件的操作不能执行……经同事提醒,试了一下全路径,居然改好了。
排错3
过了2天,功能完善后,想打包再试一下,发现又不行了……这次日志显示的是缺一个环境变量,于是找了半天办法。最终,在bash_profile中添加了环境变量,才解决了这个问题。
export LD_LIBRARY_PATH=/usr/lib/xxx:$LD_LIBRARY_PATHexport PATH
排错4
在排错期间,网上很多人说到是权限验证的问题。要改下面这个地方,/etc/pam.d/crond:
#
# The PAM configuration file for the cron daemon
#
#
# No PAM authentication called, auth modules not needed
account required pam_access.so
account include password-auth
session sufficient pam_loginuid.so
session include password-auth
auth include password-auth
排错5
打包之后,起了容器,可能还会遇到不执行的问题,此时可以尝试重启crontab。试了一下在dockerfile中加RUN crond restart
,发现不管用。
此时可以尝试起了容器之后,执行一个下面的命令:
docker exec -it container_id crond restart
转载于:https://www.cnblogs.com/wswang/p/10278385.html
docker下创建crontab定时任务失败相关推荐
- docker内创建文件夹失败
问题描述 mkdir: cannot create directory 'test': No such file or directory 解决方案 问题根源是创建test文件夹是在data文件夹下, ...
- 奥塔在线:CentOS下查看crontab定时任务输出日志
值班室打电话过来,提醒说监控平台中某台TCU集群服务器告警,磁盘空间不足. 连上服务器,使用df -h查看当前磁盘使用情况,居然已经93%了. 通过查看目录大小命令 du -sh * 发现是Nginx ...
- linux创建crontab定时任务
导读 cron是Linux中默认的计划任务.使用cron,你可以安排一个计划(比如:命令或者shell脚本)周期性地运行或者在指定的分钟.小时.天.周.月等特定时间运行.cron在你安排不同的常规维护 ...
- svn 在windows下创建仓库子目录失败解决办法
开始创建失败,后来就成功了 解决的办法是提升VisualSVN Server Admins对Reposiories目录的权限
- xp下创建DOMDocument对象失败的解决方法
前段时是写关于msxml的东西,工程的主要内容是关于xml文件的读取,显示.修改及保存.工程环境是vs2010,系统是win7. 实现完成后,去测试部一测,无法读取文件.写好的程序居然不能用. 测试的 ...
- Mac下使用crontab来实现定时任务
Mac下使用crontab来实现定时任务 说明: 1.Linux和Mac下操作crontab都是一致的 2.配置文件都在/etc/crontab下,如果没有就创建. 3.测试发现直接使用crontab ...
- Linux下使用crontab来执行定时任务计划----执行每晚12点多执行移动log日志文件操作
一.mvlogs.sh文件: mv `find /usr/local/logs -name 'Interface.log2010*.log' -mtime +4 |xargs -r` /usr/l ...
- ubuntu下创建定时任务的两种方式及常见问题解决方案
ubuntu下创建定时任务的两种方式及常见问题解决方案 参考文章: (1)ubuntu下创建定时任务的两种方式及常见问题解决方案 (2)https://www.cnblogs.com/maboii/p ...
- docker(ubuntu)中安装cron运行crontab定时任务
1.安装cron apt-get install cron 设置crontab定时任务 crontab -e */ * * * * /usr/bin/python /python/asch-check ...
最新文章
- 哈尔滨学院 计算机等级考试证书,2018年9月黑龙江哈尔滨学院计算机等级考试证书领取通知...
- 计算机操作系统中程序的功能是,计算机操作系统的功能和分类研究
- 数据类型转换规则C语言
- 语法和c区别_史冠新 | 汉语语法单位辨正
- 开源性能测试工具 - Apache ab 介绍
- 在内存中创建临时表和表变量
- 【leetcode】Minimum Path Sum
- クリムゾンガールズ 汉化补丁(BUG修正)
- 金融销售关键在于客户感受
- SPSS论证有这样的问题或错误?【SPSS 068期】
- python贪心算法
- 苏州市企业工程技术研究中心
- linux socket 阻塞服务端 非阻塞客户端,Linux socket非阻塞connect方法
- 记录一个错误Failure to find org.eclipse.m2e:lifecycle-mapping:pom:1.0.0的解决过程
- HTTPS 到底加密了什么?
- Ubuntu 远程控制(使用自带远程工具)
- C++ 堆和栈的联系与区别
- D神文木源:创业和做生意不同,区块链现在没有什么创业精神
- 安装和使用IBM PowerVP和IBM AIX
- 张晓飞ajax聊天室,张晓飞欧阳乐做客信息逸站作专题报告
热门文章
- VS2003升级VS2010修改
- CFileDialog
- html5+css3第一次作业_“台风爷爷,让我作业飞走!”南京小学生写的诗都这么逆天了?...
- 【Pytorch神经网络理论篇】 13 深层卷积神经网络介绍+池化操作+深层卷积神经网络实战
- OpenCV_05 形态学操作:连通性+腐蚀和膨胀+开闭运算+礼帽和黑帽
- python中continue格式_python自学(3)--for 、 while、 break、continue、字符格式化输出...
- fastapi 响应模型 / 响应状态码 / 表单参数
- LeetCode 1844. 将所有数字用字符替换
- LeetCode 1818. 绝对差值和(二分查找)
- 02.改善深层神经网络:超参数调试、正则化以及优化 W3. 超参数调试、Batch Norm和程序框架(作业:TensorFlow教程+数字手势预测)