Linux下非root用户计划任务问题
我在Linux上装了一个DB2,建了个DB2用户,然后想用DB2去执行系统级计划任务,我做了以下操作执行结果是有问题的.第一步我改了/etc/cron.allow内容改为...
我在Linux上装了一个DB2,建了个DB2用户,然后想用DB2去执行系统级计划任务,我做了以下操作执行结果是有问题的.
第一步我改了/etc/cron.allow 内容改为,root db2inst1
第二步以root执行了crontab -u db2inst1 -e 添加内容为*/1 * * ** db2inst1 /infodms/systemscript/gzrb.sh
第三步编写了gzrb.sh,内容为db2 -tvf /infodms/systemscript/TRACETASK.sql
第三步编写了TRACETASK.sql,内容为
connect to infodms user infodms using yinzuo;
call P_GEN_TRACETASK('IF999900');
terminate;
然后我以db2inst1身份进去手动执行sh /infodms/systemscript/gzrb.sh是完全没问题的,后来我执行/sbin/service crond reload /sbin/service crond restart
让系统重新加载crontab及重启计划任务,结果报的错通过email发到了db2inst1上,内容为:/bin/sh: db2inst1: command not found
后来我去验证,在db2inst1中手动执行sh文件还是没问题的,然后用root去执行就报的同样的错误了.
问题很急.我一上午上网找问题,就是不知道问题出在了哪里,求高手帮帮忙解决一下啊 展开
第一步我改了/etc/cron.allow 内容改为,root db2inst1
第二步以root执行了crontab -u db2inst1 -e 添加内容为*/1 * * ** db2inst1 /infodms/systemscript/gzrb.sh
第三步编写了gzrb.sh,内容为db2 -tvf /infodms/systemscript/TRACETASK.sql
第三步编写了TRACETASK.sql,内容为
connect to infodms user infodms using yinzuo;
call P_GEN_TRACETASK('IF999900');
terminate;
然后我以db2inst1身份进去手动执行sh /infodms/systemscript/gzrb.sh是完全没问题的,后来我执行/sbin/service crond reload /sbin/service crond restart
让系统重新加载crontab及重启计划任务,结果报的错通过email发到了db2inst1上,内容为:/bin/sh: db2inst1: command not found
后来我去验证,在db2inst1中手动执行sh文件还是没问题的,然后用root去执行就报的同样的错误了.
问题很急.我一上午上网找问题,就是不知道问题出在了哪里,求高手帮帮忙解决一下啊 展开
2个回答
展开全部
crontab某用户的环境变量是不带进去的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
慧咨环球
2024-02-09 广告
2024-02-09 广告
选择一个适合自己公司的仓库管理系统需要考虑以下几个因素:1. 公司的业务需求:不同公司的业务需求不同,需要选择适合自己业务需求的仓库管理系统。例如,有些公司需要管理多个仓库,有些公司需要管理拣货和打包等操作,有些公司需要管理库存和采购等环节...
点击进入详情页
本回答由慧咨环球提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询