1、下载的镜像是ubuntu最简版,默认没有安装crontab

2、业务需求需要crontab

最早解决方案

1、在宿主机里面

1 3  * * * root  cd /data/wwwroot/xxx && docker-compose exec app php think xxx >> /var/log/crontab_xxx.log

docker-compose exec app php think xxx一直执行不成功

2、然后在容器里面安装crontab,还是执行不成功,关键还没有相关日志。检查crontab也是启动的。 /etc/init.d/cron status

3、装上rsyslog, apt-get install rsyslog, service rsyslog start

查看 /var/log/syslog

Dec 25 09:07:07 1a8e4fd5c766 crontab[15120]: (root) BEGIN EDIT (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) REPLACE (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) END EDIT (root)
Dec 25 09:08:01 1a8e4fd5c766 cron[15100]: (root) RELOAD (crontabs/root)
Dec 25 09:08:01 1a8e4fd5c766 CRON[15133]: Cannot make/remove an entry for the sp

4、修改/etc/pam.d/cron

注释掉 session    required     pam_loginuid.so

5、重启cron,运行成功

参考文档:https://blog.csdn.net/u013091013/article/details/70939136

还有就是,将这一行添加到dockerfile中

RUN sed -i '/session    required   pam_loginuid.so/c\#session    required   pam_loginuid.so' /etc/pam.d/crond

crontab执行还遇到了一个坑,手动执行脚本没有问题,因为读取了环境变量,php要写绝对路径

/usr/local/bin/php think xxx

最新文章

  1. python中logging
  2. 浏览器 的 session 如何保持?!
  3. 用CSS text-transform转换字母大小写
  4. brute-force search
  5. 【JAVA、C++】LeetCode 012 Integer to Roman
  6. 代码实现UI控件
  7. 搭建spring+mybatis+struts2环境的配置文件
  8. sublime中使用markdown
  9. android笔试题集2
  10. C++学习笔录3
  11. js url参数的获取和设置以及删除
  12. PyQt QFontDialog显示中文
  13. SQL 数据操作(实验六)
  14. Ocelot中文文档-GraphQL
  15. 小白月赛13 B小A的回文串 (马拉车算法求最长回文子串)
  16. input全选和取消全选
  17. centos-0 基础
  18. 核化主成分分析(Kernel PCA)应用及调参
  19. ssh 登录出现Are you sure you want to continue connecting (yes/no)?解决方法
  20. 查看 Mac/Linux 某端口占用情况

热门文章

  1. day4:数据结构list
  2. rtd1296 mtd 设备驱动分析
  3. mysql表引擎myisam改为innodb
  4. 记录一下ionic canvas图片,还有canvas里面的图片跨域的问题
  5. oracle 监听报错the information provided for this listener is currently in use by other software on this computer
  6. LeetCode 766 Toeplitz Matrix 解题报告
  7. oracle中is和as的区别
  8. 关于flexjson将json转为javabean的使用
  9. 【F12】谷歌浏览器--前台效果可以在不访问服务器的前提下直接改样式看效果是否是预期值。
  10. private static final Logger logger= LoggerFactory.getLogger(WhMainBusi.class);