zoukankan      html  css  js  c++  java
  • 脚本手动执行正常,放cron中执行有问题的原因

    问题原因:
      1. crond服务没启动
      2. 环境变量如 PATH LANG SHELL 等设置不对
      3. 脚本中引用的文件地址是相对路径,而非绝对路径.
     
    排查步骤:  以 check.sh 为例
    先检查cron日志中是否有脚本的执行记录:  grep check.sh /var/log/cron*
    --> 没有执行的记录,则crond服务没启动. 检查crond服务状态: service crond status
    --> 有执行记录,则crond服务运行正常. 脚本至少是执行过了.
      
    清理掉/var/spool/clientmqueue/下的文件. 然后修改crontab让脚本1分钟后执行.
    待执行完毕后查看新产生的文件,可以看到脚本执行的报错以及X-Cron-Env环境变量.
    根据相应的报错来调整脚本的代码.
     
    最好在写脚本的时候在脚本开头定义 PATH LANG 等脚本正常运行所需的环境变量.脚本中要使用到的文件或命令,也最好使用全路径而非相对路径.
  • 相关阅读:
    mysql(二)数据类型
    mysql(一)
    MySQL8 安装官方示例 employees 数据库
    Elasticsearch入门
    redis入门
    git 基本使用
    vue-cli4环境变量配置和代理跨域配置
    nginx配置
    彻底搞清浏览器和服务器跨域
    File文件过滤器
  • 原文地址:https://www.cnblogs.com/topicjie/p/7440828.html
Copyright © 2011-2022 走看看