美文网首页
Cron/Crontab的坑

Cron/Crontab的坑

作者: Vittoria | 来源:发表于2016-04-19 17:09 被阅读330次

有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题!!!

这种情况一般是由于在crontab文件中没有配置环境变量引起的。

在crontab文件中定义多个调度任务时,需要特别注环境变量的设置,因为我们手动执行某个任务时,是在当前shell环境下进行的,程序当然能找到环境变量,而系统自动执行任务调度时,是不会加载任何环境变量的,因此,就需要在crontab文件中指定任务运行所需的所有环境变量,这样,系统执行任务调度时就没有问题了。

不要假定cron知道所需要的特殊环境,它其实并不知道。所以你要保证在shelll脚本中提供所有必要的路径和环境变量,除了一些自动设置的全局变量。所以注意如下3点:

  1. 脚本中涉及文件路径时写全局路径;
  2. 脚本执行要用到java或其他环境变量时,通过source命令引入环境变量,如:
cat start_cbp.sh
!/bin/sh
source /etc/profile
export RUN_CONF=/home/d139/conf/platform/cbp/cbp_jboss.conf
/usr/local/jboss-4.0.5/bin/run.sh -c mev &
  1. 当手动执行脚本OK,但是crontab死活不执行时,很可能是环境变量惹的祸,可尝试在crontab中直接引入环境变量解决问题。如:
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh

相关文章

  • Cron/Crontab的坑

    有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题!!! 这种情况一般是由...

  • crontab格式说明

    查看cron的运行状态service cron status 参数说明 列出crontab文件crontab -l...

  • Cron表达式和Crontab表达式区别

    遇到了个坑记录下,以为Cron表达式和Linux支持的Crontab中的定时表达式是一样的,其实不然。 Cron ...

  • crontab 定时备份mysql数据库

    1.安装crontab yum install vixie-cron yum install crontab ...

  • centos7 配置crontab定时任务

    1. 启动cron服务 2. 开机自动启动cron服务 3. 通过crontab命令管理定时任务 crontab命...

  • Crontab 定时任务

    Crontab 使用说明1.crontab命令语法 例如:root查看自己的cron设置,命令为crontab -...

  • linux- crontab定时执行任务

    crontab定时执行任务 作用:用于生产cron进程所需要的crontab文件 crontab -l # 查看当...

  • Linux_定时任务

    Crontab 使用说明1.crontab命令语法 例如:root查看自己的cron设置,命令为crontab -...

  • crontab定时执行

    crontab命令 crontab 格式 定时示例 第二种方式配置cron vim /etc/crontab 特殊...

  • Liunx定时任务

    Liunx定时任务 crontab(持续运行) cron守护进程 cron服务 systemctl start ...

网友评论

      本文标题:Cron/Crontab的坑

      本文链接:https://www.haomeiwen.com/subject/abczlttx.html