手工执行shell的时候是可以连接数据库。并正确执行的。连接数据库脚本如下:
dbisql -c "uid=DBA;pwd=sql" -host 192.168.0.34 -port 2638 /home/gjt/query.sql
query.sql中就一个简单查询sql语句。网上都说到环境变量。有没有人弄过这个的,给个详细点的答案。谢谢!
一般crontab无法执行,基本跟权限、路径和profile有关。
如果执行的语句很长可以写个成脚本这样也方便管理
#!/bin/bash
source /home/git/.bash_profile #先加载你可以执行这条命令的.bash_profile,在测试一下。
dbisql -c "uid=DBA;pwd=sql" -host 192.168.0.34 -port 2638 /home/gjt/query.sql
如果执行的语句很长可以写个成脚本这样也方便管理
#!/bin/bash
source /home/git/.bash_profile #先加载你可以执行这条命令的.bash_profile,在测试一下。
dbisql -c "uid=DBA;pwd=sql" -host 192.168.0.34 -port 2638 /home/gjt/query.sql
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-12-01
在执行dbisql -c "uid=DBA;pwd=sql" -host 192.168.0.34 -port 2638 /home/gjt/query.sql
query.sql这句话前面,先加载上sybase用户的环境变量。
source $SYBASE/SYBASE.sh本回答被提问者采纳
query.sql这句话前面,先加载上sybase用户的环境变量。
source $SYBASE/SYBASE.sh本回答被提问者采纳
第2个回答 2011-11-30
1,连接数据库的脚本给 可执行权限chmod +x 你的脚本
2,crontab编辑好之后请重启的你crond 服务
你可以测试下看看!
2,crontab编辑好之后请重启的你crond 服务
你可以测试下看看!