请教高手,关于crontab无法执行的问题
这是一个统计数据库表空间使用情况的脚本,并以日期命名文件:/orabin/oracle/product/10.2.0.1/db_1/bin/plm_tablespace_script > /tmp/tablespace_used/`date +%Y%m%d`
单独执行以上语句可以执行,但放到crontab中就不执行了。00 09 * * * /orabin/oracle/product/10.2.0.1/db_1/bin/plm_tablespace_script > /tmp/tablespace_used/`date +%Y%m%d`
请教论坛高手,是因为shell不同造成的结果吗?
怎么解决??3Q!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
回复 4# boeot_plm
类似 source /etc/profile
放在脚本的第二句,就是 #!声明后边
非常酷哦,不顶对不起良心
你加了环境变量后,是用的什么账户的环境变量,就是你的crontab想用哪个账户执行的?
感谢chen_gps的回答!
针对我的实际情况,你说的加环境变量,是在plm_tablespace_script中吗?这个已经加了。
单独执行这个脚本都是没问题的,就是放的crontab里不行。
本人新手,还望指教!
1、在shell中加环境变量:
#!/bin/csh
setenv ORACLE_BASE /oracle/app/oracle
setenv ORACLE_HOME ${ORACLE_BASE}/product/10.2.0
setenv SHLIB_PATH $ORACLE_HOME/lib32ORACLE_HOME/libSHLIB_PATH
set path=($ORACLE_HOME/bin $path )
setenv NLS_LANG AMERICAN_AMERICA.ZHS16GBK
2、shell开头引入你的环境变量文件。
3、在cron里用su user -c切换用户
感谢楼上两位的回答!
在什么地方设置crontab日期的环境变量,3Q!
LS正确,在脚本里面引入环境变量。crontab是不带环境变量的。
环境变量的问题