为什么crontab任务创建了没执行
发布网友
发布时间:2022-04-30 16:08
我来回答
共1个回答
热心网友
时间:2022-04-14 16:28
1. 新增crontab中的任务
oracle@BI-DB-HIS:/expdata/rpt/scripts$crontab -e
"/var/tmp/aaa002939" 7 lines, 496 characters
0 10 * * * /expdata/rpt/scripts/create_snapshot.sh>/dev/null 2>&1
"/var/tmp/aaa002939" 7 lines, 497 characters
warning: commands will be executed using /usr/bin/sh
2. 到10点中的时候,任务没有执行,手工执行多次,确认没有问题
3. 查看.sh和.sql的权限问题,确认也没有问题
4. google到crontab 是不会根据用户自动搜索环境变量的,man的信息如下:
Users who desire to have their .profile executed must explicitly do so
in the crontab entry or in a script. called by the entry.
5. 在.sh脚本中加入export 环境变量
原始脚本:
oracle@BI-DB-HIS:/expdata/rpt/scripts$more /expdata/rpt/scripts/create_snapshot.sh
sqlplusleiz/mleiz@bidb @/expdata/rpt/scripts/create_snapshot.sql
oracle@BI-DB-HIS:/expdata/rpt/scripts$more /expdata/rpt/scripts/create_snapshot.sql
exec dbms_workload_repository.create_snapshot();
exit;
更新后脚本
oracle@BI-DB-HIS:/expdata/rpt/scripts$vi create_snapshot.sh
"create_snapshot.sh" 1 line, 70 characters
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/proct/10.2/db
export ORACLE_SID=bidb
export PATH=/usr/bin:/etc/:/usr/sbin:/usr/ucb:/usr/local/bin:$ORACLE_HOME/bin:/usr/bin/X11:/sbin:$PATH
export NLS_LANG=american_america.ZHS16GBK