[oracle@hbsjxtdb1 ~]$ crontab -e
0 4 * * * /backup/script/backupexpdp.sh
[oracle@hbsjxtdb1 ~]$ crontab -l
0 4 * * * /backup/script/backupexpdp.sh
脚本如下:定义环境变量、 删除七天前的循环备份、指定用户下的数据、压缩。
#!/bin/bash
echo "*****setting the env*****"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_OWNER=oracle
export ORACLE_SID=hbsjxt1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
echo "*****start deleting data *****"
find /backup/expdpdata/ -mtime +7 -type f | xargs rm -rf
for username in hbyz hbyzcx hbjp hbwx hbjc hbzh hbwxqy
do
export DATE=`date +%Y%m%d%H%M`
echo "*****start exporting ${username}'s object*****"
/u01/app/oracle/product/11.2.0/db_1/bin/expdp \'/ as sysdba\' directory=expdpdir dumpfile=${username}\_$DATE\_%U.dmp SCHEMAS=${username} logfile=expdp_${username}_$DATE.log cluster=no parallel=4
echo "*****start compressing ${username}'s object*****"
gzip /backup/expdpdata/${username}_$DATE_*.dmp
done