备份脚本文件名:/u02/back/backup.sh 脚本内容如下:
#!/bin/tcsh
#source /home/oracle/.bash_profile
#setenv rq `date +%Y%m%d` (在ksh下)
export rq=‘date +%Y%m%d` (在bash下;注意不是单引号!)
#rm -fr /u02/backup/exp_full_*
exp userid=hzmis/123 file='/u02/backup/exp_full_$rq.dmp' log='/u02/backup/exp_full_$rq.log
注意:首先echo $SHELL查看是什么shell不同的SHELL设置变量的方法很不一致:
csh : set、setenv
bash : set、export
ksh : set、export或直接赋值
然后以root用户建立任务:
>crontab -e
内容为:
00 03 * * 1-5 su - oracle -c /u02/backup/backup.sh > /dev/null
00 03 * * 0-6 find /u02/backup/*.dmp -mtime +7 -exec rm {} /; > /dev/null
即在每周一到周五定期逻辑备份,然后每天定期删除7天以前的备份。
>/etc/init.d/crond restart
竣工!