您的位置:首页 > 运维架构 > Shell

简单的shell数据库备份脚本

2014-05-28 11:29 519 查看
#!/bin/bash

source /home/oracle/.bash_profile
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

USERNAME=test
PASSWORD="test"
HOSTNAME=`hostname`

BACKUP_BASEDIR=/export/oracle_backup
DB_SID=orclasm
BACKUP_DATE=`date +%Y-%m-%d`
EXPDIRNAME=xhl_file_dir

if [ ! -d $BACKUP_BASEDIR/$USERNAME/`date +%Y-%m-%d` ];then
mkdir -p "$BACKUP_BASEDIR/$USERNAME"
fi

ALIAS_LOG=${USERNAME}_DATA_${BACKUP_DATE}

rm -rf $BACKUP_BASEDIR/$USERNAME/$ALIAS_LOG*

expdp_data_backup()
{
expdp $USERNAME/$PASSWORD@$DB_SID SCHEMAS=$USERNAME DIRECTORY=$EXPDIRNAME DUMPFILE=$1_%U.dmp  FILESIZE=20G LOGFILE=$1.log exclude=statistics compression=all parallel=4 CLUSTER=N
}
#expdp test/test@orclasm schemas=test directory=xhl_file_dir dumpfile=test.dmp filesize=20G logfile=test.log exclude=statistics compression=all parallel=4 cluster=N

expdp_data_backup $ALIAS_LOG

sqlplus -S $USERNAME/$PASSWORD@$DB_SID <<EOF
INSERT INTO XHL_BACKUP_LOG(BACKTIME) VALUES(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
COMMIT;
EOF
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: