请问大婶,crontab用户定时重启服务调用expdp备份远程数据库报no such file失败?

有个问题,我用户自己启动的java后台服务调用expdp备份远程数据库可以备份,定时任务重启的服务调用备份报no such file
我的用户和数据库用户是一个组的,在服务器直接执行expdp导出也能成功
定时重启服务是用crontab -e设置的用户定时
备份部分程序
String commandExp = "expdp " + dbUser + "/" + dbPwd + "@" + dbSid + " schemas="+schemas+" dumpfile=" + prefix + sysDate
+ ".dmp directory=" + directory;
pid = Runtime.getRuntime().exec(commandExp);
pid.waitFor();

请问怎么解决??求救!!!!

crontab执行任务时和在命令行里运行命令的环境是不一样的,比如命令行启动会运行/etc/bash_profile,$HOME/.bash_rc等文件,你看看有依赖什么环境变量是在这里面定义的,在crontab脚本里重新export即可

写成sh脚本,然后让用户通过sh脚本调用吧.

http://blog.csdn.net/bq1073100909/article/details/70195955

把需要执行的命令写成一个sh脚本,crontab执行这个脚本就行了