这篇论坛文章(赛迪网技术社区)主要介绍了定时备份Sybase数据库的脚本问题,详细内容请参考下文:
前几天写了个定时备份Sybase数据库的脚本,在shell中写完后试着手动执行,一切都ok。结果写到cron定时文件后,到了时间就怎么也不执行。很纳闷,又胡乱检查了一通用户、权限、目录权限等(其实手动能执行说明这些都没问题),都没问题啊,怎么回事呢?
后来看到一位前辈的样例,才恍然大悟。原来自己在登录shell时sybase的环境变量都在生效,但当cron调度备份脚本运行时产生的子shell中,就无法找到脚本执行所需要的sybase环境变量了。所以,应当在cron中数据库备份脚本前,执行使sybase环境变量生效的脚本(加在备份脚本中或单独执行都可以)
suse linux下:
source /home/sybase/.bash_profile;
AIX下:
00 10 *** . /home/sybase/.profile;/home/sybase/backupdb.sh
(注:与备份脚本间有空格)