导致crontab定时任务不生效问题可能的原因非常多
首先,排查一些可能会导致问题出现的简单原因。
1.Linux的时间与互联网时间不一致
2.定时执行的.sh文件无执行权限
3.crontab进程未启动
4.定时任务重定向日志的路径不存在
5.环境变量问题
6.没有写绝对路径

通过排查,一一否定了上述所有可能,不是某个定时任务有问题,而是所有定时任务均不生效。
继续查看crontab的日志

tail -f /var/log/cron
Dec  3 08:30:01test crond[21199]: (root) FAILED to open PAM security session (拒绝权限)

可以看到确实有报错,但是没有具体报错的原因,只知道是PAM验证有问题。
通过查阅网上的文章将/etc/pam.d/crond 中的session required pam_loginuid.so required改为sufficient可以解决。经测试,确实成功了,但是文章没有说明原因,其他机器也是相同设置crontab却没有问题,说明这里不是根本原因,这里涉及pam模块认证的知识。
PAM认证一般遵循这样的顺序:Service(服务)→PAM(配置文件)→pam_*.so。PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下)
pam验证控制类型。

1、required验证失败时仍然继续,但返回Fail(用户不会知道哪里失败)。
2、requisite验证失败则立即结束整个验证过程,返回Fail。
3、sufficient验证成功则立即返回,不再继续,否则忽略结果并继续。
4、optional无论验证结果如何,均不会影响(通常用于session类型)。
可以看到这里是通过改为sufficient验证成功则立即返回,不再继续来达到忽略报错的目的,但是这样做有一定的风险。

继续查看系统日志var/log/secure

tail -f var/log/secure
Dec  3 15:19:01 hdyy1 crond[25439]: pam_limits(crond:session): Could not set limit for 'nofile': 不允许的操作

可以看到是nofile参数有问题,查看该参数的配置文件

cat vi /etc/security/limits.d/90-nproc.conf
*          soft    nproc     196605
root       soft    nproc     unlimited
*          soft    nofile    19660500
*          hard    nofile    19660500
*          soft    core      512000
*          hard    core      512000

可以看到此时该参数值为19660500,超出了系统的最大可设置值,将参数改为196605后crontab定时任务生效。

crontab定时任务不生效问题解决相关推荐

  1. Kerberos kinit crontab定时任务不生效的问题解决

    Kerberos kinit crontab定时任务不生效的问题解决 参考文章: (1)Kerberos kinit crontab定时任务不生效的问题解决 (2)https://www.cnblog ...

  2. CentOS crontab定时任务不执行的解决

    crontab 配置文件 SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .- minute (0 59 ...

  3. docker(ubuntu)中安装cron运行crontab定时任务

    1.安装cron apt-get install cron 设置crontab定时任务 crontab -e */ * * * * /usr/bin/python /python/asch-check ...

  4. Linux[Mac] Crontab 定时任务学习与探究

    1.应用场景 主要用于在服务器[linux]上编写定时脚本,执行执行任务,同时明白存在的问题. 2.学习/操作 环境 阿里云ECS centOS 7.4 root权限 1. 文档阅读 Linux Cr ...

  5. php定时任务为什么不好写,php解决crontab定时任务不能写入文件问题的方法分析...

    本文实例讲述了php解决crontab定时任务不能写入文件问题的方法.分享给大家供大家参考,具体如下: 今天使用crontab写的定时任务没有执行,很纳闷. crontab.php error_rep ...

  6. springboot使用logback日志,部署到tomcat不生效问题解决

    springboot使用logback日志,部署到tomcat不生效问题解决 参考文章: (1)springboot使用logback日志,部署到tomcat不生效问题解决 (2)https://ww ...

  7. video标签poster属性在安卓微信中不生效问题解决

    video标签poster属性在安卓微信中不生效问题解决 参考文章: (1)video标签poster属性在安卓微信中不生效问题解决 (2)https://www.cnblogs.com/shicha ...

  8. linux crontab 定时任务 计划任务 不执行 原因

    前言 最近在工作中遇到了一些问题,crontab定时任务居然不执行,后来我在网上找的时候发现网上主要说了这几个原因: 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个cr ...

  9. 【Linux】crontab 定时任务 遇到几个问题

    文章目录 cron 与 crontab 区别 bash xxx.sh 可以执行,但是crontab定时任务不执行,也没有报错信息,无日志: 首先区分 crontab -e 和 /etc/crontab ...

最新文章

  1. document.all与WEB标准
  2. 当老板说要把公司当家时,他在说...
  3. 修改中断向量ESC退出
  4. Storm集群安装部署步骤【详细版】
  5. ML之DTRFRExtraTRGBR:基于四种算法(DT、RFR、ExtraTR、GBR)对Boston(波士顿房价)数据集(506,13+1)进行价格回归预测并对比各自性能
  6. PHP 实现图片验证码
  7. 变量在函数内外的作用域 3
  8. android textview基线,Textview画文字基线的问题
  9. 一种在智能对话中实现上下文功能的方法
  10. 关于scanf对换行的吸收
  11. 数据结构堆栈 内存堆栈_了解堆栈数据结构
  12. 三菱PLC编程口通信上位机端报文和java示范代码
  13. java实现字符串MD5加密32位大小写
  14. 力扣46.全排列(回溯法)
  15. 断言(assertion)的简介
  16. SIP 协议的系统构架
  17. vmlinuz、initrd.img、vmlinuz
  18. 八进制和十六进制表示
  19. 【我与云表的故事】我用云表做工作日历
  20. quicklz 接口函数

热门文章

  1. phpcmsV9首页loop文章调用顶级栏目名称
  2. 服务器打包运营级H5商城源码
  3. vite新建vue3项目采坑,官网流程之路,vite+vue3+elementpuls
  4. 无域名限制版小智收录网+简单的zblog导航网模板
  5. 简约的蓝色流量卡网站源码
  6. Rx:4-[编外篇] .NET4里的Concurrent Collections
  7. window下版本控制工具Git 客户端安装
  8. 项目优化经验mdash;mdash;垃圾回收导致的性能问题[z]
  9. 双语经典:告别单身的必杀技之情话连篇
  10. ASP.Net2.0小技巧 保持滚动条的位置 焦点移动到某个控件 $符号轻松的使用FindControl...