Chinaunix
标题:
问个简单问题(已解决)
[打印本页]
作者:
dzminglong
时间:
2014-07-11 11:56
标题:
问个简单问题(已解决)
本帖最后由 dzminglong 于 2014-07-15 08:55 编辑
写了个oracle的shell备份脚本,手动执行一点问题都没有
但是放在crond里面就执行不了,但是看crond的日志却是执行了,这是什么问题?
作者:
dzminglong
时间:
2014-07-11 12:01
同样的操作,另外一台倒是执行了,但是邮件却说执行失败,又是什么问题?
作者:
dzminglong
时间:
2014-07-11 12:03
#!/bin/bash
email=/usr/local/bin/email
DESTDIR=/path/backup
if [ -d $DESTDIR ];then
echo "==backup start==" > /dev/null
else
mkdir -p $DESTDIR
fi
rman target / <<EOF
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backup format '$DESTDIR/full_%U_%T' skip inaccessible filesperset 5 DATABASE TAG orcl_hot_db_bk;
sql 'alter system archive log current';
backup format '$DESTDIR/arch_%U_%T' skip inaccessible filesperset 5 ARCHIVELOG ALL DELETE INPUT;
backup current controlfile tag='bak_ctlfile' format='$DESTDIR/ctl_file_%U_%T';
backup spfile tag='spfile' format='$DESTDIR/ORCL_spfile_%U_%T';
release channel c2;
release channel c1;
}
EOF
if [ $? = 0 ];then
echo "`date +%Y年%m月%d号`backup successfully" | $email -s "`date +%m月%d号`备份情况" xxx@xxx.com
else
echo "`date +%Y年%m月%d号`backup failed" | $email -s "`date +%m月%d号`备份情况" xxx@xxx.com
fi
~
~
复制代码
作者:
dzminglong
时间:
2014-07-11 12:03
在线等答难解惑!
作者:
www_xylove
时间:
2014-07-11 18:23
crond格式,权限,路径对吗
作者:
dzminglong
时间:
2014-07-11 20:14
回复
5#
www_xylove
crond格式绝对正确,权限也有,我看了日志,计划执行了,路径也没错,就是执行完的结果为何是没有执行 {:3_188:}
作者:
jackson198574
时间:
2014-07-14 10:51
最好提供一下crontab -l 的输出和计划执行与无结果的实际操作结果看一下才好判断。
作者:
phanx
时间:
2014-07-14 23:33
本帖最后由 phanx 于 2014-07-14 23:34 编辑
回复
1#
dzminglong
你这个问题确实很简单。 根源就是
环境变量
crontab在执行的时候,没有附带你 在 shell 下执行的那些变量,包括PATH环境变量。
所以,最好的方法是在你的脚本中在export 需要的变量,例如 ORACLE_HOME ORACLE_SID PATH 等。
然后就会正常执行了。
这个问题是常见错误。
作者:
bpxyz
时间:
2014-07-14 23:48
这脚本逻辑上来说太差劲了。
楼上说的确实重要,我也碰到过一次类似情况。
最好在脚本里export几个关键的环境变量,比如 PATH,ORACLE_SID,ORACLE_HOME.
作者:
dzminglong
时间:
2014-07-15 08:53
回复
8#
phanx
非常感谢,我去试试
作者:
dzminglong
时间:
2014-07-15 08:54
回复
9#
bpxyz
刚接触几天的菜鸟
作者:
流氓无产者
时间:
2014-07-21 09:37
dzminglong 发表于 2014-07-11 11:56
写了个oracle的shell备份脚本,手动执行一点问题都没有
但是放在crond里面就执行不了,但是看crond的日志 ...
环境变量/路径都check一下
作者:
dzminglong
时间:
2014-07-21 09:40
回复
12#
流氓无产者
老兄还混这个板块的啊
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2