crontab执行脚本不生效问题(exp导出不执行)

最近项目上在弄数据库备份,但是当我写完脚本之后,发到测试环境上进行测试的时候,发现脚本到了定时的时间,不会执行,起初不太清楚是因为什么,经过一番查找之后,才发现是脚本在定时器中启动的时候,需要执行的对应的环境才行,也就是在执行之前需要设置对应的环境变量。目前这种问题的处理方式有两种,一种是编辑定时器任务中的启动脚本的执行环境变量。目前是有两种方案,一种是在crontab定时任务中添加相应的参数设置,另一种是在脚本中添加配置

在定时任务中处理

使用crontab -e打开定时任务编辑,然后在cron表达式和脚本之间添加. ~/.bash_profile;即可

1
30 1 * * * . ~/.bash_profile;  /bin/sh /home/oracle/autoBackupOracle.sh

在执行的脚本中处理

在执行的脚本中开头的地方添加如下代码表示配置环境变量

1
2
#!/bin/sh
exp mcsdb/mcsdb@orcl.....