当前位置: 技术问答>linux和unix
shell中重定向的一个问题
来源: 互联网 发布时间:2016-08-16
本文导语: 今天没事写了个shell脚本,但是让这个脚本定时执行时,重定向有点问题。脚本大概如下 DATE=`date -d yesterday +%Y%m%d` echo "the num:" sqlplus -S hello/hello@ora10g51 log_${DATE}.log select count(*) from ${DATE}_00; ...
今天没事写了个shell脚本,但是让这个脚本定时执行时,重定向有点问题。脚本大概如下
这个脚本手动执行时都将输出重定向到log_${DATE}.log这个文件中,但定时执行时就不行。
请问这个什么原因呢?
DATE=`date -d yesterday +%Y%m%d`
echo "the num:"
sqlplus -S hello/hello@ora10g51 log_${DATE}.log
select count(*) from ${DATE}_00;
exit
EOF
这个脚本手动执行时都将输出重定向到log_${DATE}.log这个文件中,但定时执行时就不行。
请问这个什么原因呢?
|
第一,cron里面最好用全路径,不然很难说东西写到哪去了
第二,需要在脚本里面设置oracle的环境变量,否则sqlplus不会执行的
第三,建议标准错误也输出到文件里面
第二,需要在脚本里面设置oracle的环境变量,否则sqlplus不会执行的
第三,建议标准错误也输出到文件里面
|
定时执行怎么就不行了呢? 在脚本最前面加一个cd dir, 然后到那个目录下去看有没有log_20100408.log的文件产生.
|
mark
学习了
学习了
|
顶,
这三点很重要. 不要想当然的去觉得什么一定可以,其实很多时候你自以为可以的往往存在问题。
|
你是用crontab 定时吗?www.zhoin.com