`
381573578
  • 浏览: 72837 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

crontab与环境变量

 
阅读更多

2. 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 &
3)当手动执行脚本OK,但是crontab死活不执行时。这时必须大胆怀疑是环境变量惹的祸,并可以尝试在crontab中直接引入环境变量解决问题。如:
0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh

3. 其他应该注意的问题
1)新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。
2)每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。
3)当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。
4)千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。
5)在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date ‘+%Y%m%d’在crontab里是不会执行的,应该换成date ‘+\%Y\%m\%d’`。

分享到:
评论

相关推荐

    Linux Crontab 获取环境变量配置解析

    然而,当你尝试在Crontab任务中使用环境变量时,可能会遇到一些问题,因为Crontab启动的命令并不像交互式登录那样加载完整的环境配置。本文将深入探讨如何在Crontab中正确地获取和设置环境变量。 首先,我们需要...

    Linux定时脚本crontab中文乱码.docx

    3. 乱码问题的缘由是由于 Unix/Linux 下的 crontab 环境与用户环境的差异,导致环境变量的失效。 4. 解决方案是设置语言环境变量 LANG,在脚本的最前面添加一行命令,例如 `export LANG=en_US.UTF-8`。 5. 使用 `...

    linux-oracle环境变量及自启动脚本

    本文将深入探讨与"linux-oracle环境变量及自启动脚本"相关的知识点。 一、Oracle环境变量 1. ORACLE_HOME:这是Oracle软件安装的位置,指向包含所有Oracle产品目录的根目录。 2. ORACLE_SID:Oracle System ...

    linux C7 crontab离线安装包

    此外,Crontab支持环境变量和注释,可以提高脚本的可读性和可维护性。同时,`anacron`是Cron的一个扩展,用于处理那些不常运行但需要在特定时间点执行的任务,特别适合在网络不可靠或者机器不常开机的情况下。 总结...

    Unix Crontab

    在`crontab`环境中,某些默认环境变量可能与交互式会话不同,比如`$HOME`、`$PATH`等。如果脚本依赖于特定的环境变量,需要在`crontab`文件中显式设置它们。 **4. `cron`守护进程** `cron`守护进程负责定期检查用户...

    crontab命令格式与例子

    在 crontab 文件中可以设置环境变量,例如: ```bash MAILTO=root ``` 此设置会将所有 cron job 的输出邮件发送给 root 用户。 #### 七、注意事项 - 执行 cron job 的时候,如果命令中有空格或特殊字符,请确保它们...

    crontab-46.1.tar.gz

    7. **安全与注意事项**:`crontab`的任务执行环境相对纯净,不包含用户的环境变量。因此,在编写定时任务时,应确保所有需要的环境变量、路径和依赖项都在脚本中明确指定。另外,为了安全起见,定期检查`crontab`...

    在windows下配置crontab

    1. 更新系统的PATH环境变量,将Cygwin的bin目录添加到其中,例如`D:\appmes\Cygwin\bin`。 2. 安装并启动`cron`服务,使用`cygrunsrv`命令进行配置,使其即使在Cygwin命令窗口关闭后仍能运行,并设置为开机启动。 3....

    crontab.rar

    四、Crontab环境变量 由于`crontab`任务是在后台运行,它们不会继承用户的环境变量。因此,如果命令依赖于某些环境变量,如`PATH`,需要在crontab文件中显式设置。例如: ```bash SHELL=/bin/bash PATH=/usr/local...

    crontab详解

    此外,crontab中运行的程序会被送到shell执行,该shell仅具有三个环境变量:USER, HOME, SHELL。因此,如果脚本中需要其他环境变量,需要在脚本中显式地设置。 需要注意的是,在生产环境中,一些任务的调度需要谨慎...

    crontab计划任务的使用方法

    - `-e`:编辑crontab文件,系统默认使用VI编辑器,可以通过设置`VISUAL`环境变量选择其他编辑器。 - `-l`:列出当前用户的crontab任务。 - `-r`:删除当前用户的crontab任务。 - `-v`:查看crontab任务的状态。 ...

    crontab中英文手册。很清晰完整。

    7. **环境变量**:crontab任务执行时,其环境可能与交互式登录会话不同,因此需要特别注意环境变量的设置,比如PATH。 8. **权限管理**:每个用户都有自己的crontab文件,root用户还可以通过`crontab -u 用户名`来...

    crontab命令详解

    - **编辑Crontab文件**:`crontab -e`用于编辑用户的Crontab文件,系统默认使用`vi`作为编辑器,但可以通过设置`VISUAL`环境变量来更改。例如,若想使用`joe`编辑器,可设置`setenv VISUAL joe`。 - **查看Crontab...

    crontab用法详解。

    crontab 中的环境变量 在使用 crontab 时,需要特别注意环境变量的问题。例如,在执行 Oracle 的 sqlplus 命令时,需要设置相关的环境变量。在执行文件中必须列出这些环境变量。 例如,下面是一个执行 sqlplus ...

    crontab操作手册

    如果遇到crontab任务未按预期执行,首先检查任务的路径和环境变量是否正确,确保脚本能在非交互环境中正常运行。其次,检查用户权限,确保用户在`/etc/cron.d/cron.allow`文件中,或者在没有此文件的情况下,使用...

    suse linux crontab 任务计划 sh文件不能执行分析

    - `crontab` 在执行任务时,它没有用户的登录环境,因此一些依赖于特定环境变量的命令可能无法工作。例如,`$PATH` 变量可能不包含shell脚本中引用的命令路径。在`crontab` 文件中,可以通过设定`PATH` 来解决这个...

    crontab自动备份

    - 调用`/home/oracle/.bash_profile`以确保环境变量正确设置。 - 使用Oracle的`exp`命令进行数据导出,其中`userid`参数指定了数据库用户名和密码,`file`参数指定了备份文件的路径和名称,使用日期和时间戳作为...

    Crontab命令.doc

    默认使用VI编辑器,但可以通过设置`VISUAL`环境变量来指定其他编辑器,例如`joe`。 - `-l`:列出当前用户的定时任务列表。 - `-r`:删除当前用户的全部定时任务。 #### 定时任务的格式 定时任务的格式由六个字段...

    thinkphp 5.1 定时任务,Crontab 计划任务-think-cron.zip

    2. 使用环境变量存储敏感信息,如数据库密码,以增强安全性。 3. 定期检查和清理旧的Crontab任务,避免无用任务占用资源。 总结,ThinkPHP 5.1的定时任务功能结合Crontab,让开发者能轻松实现后台任务自动化,极大...

    crontab用法详解

    在使用 `crontab` 之前,建议设置 `EDITOR` 环境变量,比如在 `.profile` 文件中设置 `EDITOR=vi; export EDITOR`,这样 `crontab -e` 会调用 vi 编辑器。 删除定时任务文件可以使用 `crontab -r` 命令。如果误删,...

Global site tag (gtag.js) - Google Analytics