【发布时间】:2016-07-05 13:43:35
【问题描述】:
嗨,下面的脚本在命令提示符下执行时工作正常,但在 cron 中调度时没有给出任何结果。请帮忙。
#!/bin/bash
db_mode()
{
$ORACLE_HOME/bin/sqlplus -s << eof
system/xxxxx@<DB_NAME>
SET LINES 132
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
select open_mode from v\$database;
exit;
eof
}
state=`db_mode`
echo $state > /home/oracle/dba/scripts/monitor/state.log
大家好,
我用 -l 安排了这项工作,它似乎奏效了。 这就是我现在安排工作的方式
*/1 * * * * /bin/bash -l /home/oracle/dba/scripts/monitor/db_mode.sh
之前我把它安排为
*/1 * * * * /bin/bash /home/oracle/dba/scripts/monitor/db_mode.sh
谢谢大家。
【问题讨论】:
-
你的 cronjob 表达式是什么?
-
大家好,我用 -l 安排了这项工作,它似乎奏效了。这就是我现在安排工作的方式 */1 * * * * /bin/bash -l /home/oracle/dba/scripts/monitor/db_mode.sh
-
不错!请edit您的问题与这些重要细节
-
ORACLE_HOME 设置在哪里?最后一行应该是“>”还是“>>”?您也可以尝试将 shebang 更改为 /bin/sh