shell脚本备份国产达梦数据库

shell脚本备份国产达梦数据库代码如下:

1、配置文件:

username=SYSDBA
password=SSSTTTSSS
ipStr=localhost
portNumber=5327
backupsFileStr=/wocloud/db/backups
logsFileStr=/wocloud/db/backups/dmDexpLogs
backupsFileDay=3
dexpStr=/opt/dmdbms/bin/dexp
saveDb=HEBEI

2、代码:

注意:不同linux设备的sh路径可能不同,需通过which sh查看sh的绝对路径修改即可。

#!/bin/sh

#db_backups_conf.txt文件路径
db_backups_conf="/wocloud/shell/dm_db_backups_conf.txt"

#判断文件是否存在
if [ -f "${db_backups_conf}" ];then
	
	echo $(date +'%Y-%m-%d %H:%M:%S')" 数据库配置信息文件存在,开始进行数据备份"

	#获取等号前内容,作为map中的Key值
	dbArrOne=($(awk -F'[=]' '{print $1}' ${db_backups_conf} ))
	
	#获取等号后内容,作为map中的value值
	dbArrTwo=($(awk -F'[=]' '{print $2}' ${db_backups_conf}))

	#创建一个空map
	declare -A map=()
	
	#通过循环,将db_backups_conf配置文件中的信息存储在map中
	for((i=0;i<${#dbArrOne[@]};i++))
	do
		map[${dbArrOne[i]}]=${dbArrTwo[i]}
	done	

	#获取备份数据库
	saveDbStr=${map["saveDb"]}
	
	#获取默认的字符串分隔符
	old_ifs="$IFS"
	
	#设置字符串分隔符为逗号
	IFS=","

	#将用户名的value值的字符串进行分隔,获取一个数组
	saveDbArr=($saveDbStr)

	#将字符串的分隔符重新设置为默认的分隔符
	IFS="$old_ifs"

	#获取当前年月日
	saveday=$(date +%Y%m%d)

	#获取超出备份天数的年月日
	delday=$(date -d ${map["backupsFileDay"]}' days ago' +%Y%m%d)


	#遍历要备份的用户名,删除两天前备份的数据文件
	for delDb in ${saveDbArr[@]};
	do
		echo $(date +'%Y-%m-%d %H:%M:%S')" 删除文件:"${map["backupsFileStr"]}/${delDb}_database_${delday}.dmp

		rm -f ${map["backupsFileStr"]}/${delDb}_database_${delday}.dmp
	done

	#遍历要备份的数据库,备份数据文件
	for saveDb in ${saveDbArr[@]};
	do
		echo $(date +'%Y-%m-%d %H:%M:%S')" 备份数据库:"${saveDb}
   		${map["dexpStr"]} USERID=${map["username"]}/${map["password"]}@${map["ipStr"]}:${map["portNumber"]} FILE=${saveDb}_database_${saveday}.dmp LOG=${map["logsFileStr"]}/${saveDb}_database_${saveday}.txt SCHEMAS=${saveDb} DIRECTORY=${map["backupsFileStr"]}
	done	
	
	echo $(date +'%Y-%m-%d %H:%M:%S')" 数据备份完毕,脚本执行完毕"

else
	echo "文件不存在"
fi

3、配置参数说明:

参数意义如下:
username=数据库oracle一个较高权限用户名
password=密码
ipStr=数据库所在服务器IP地址
portNumber=端口号
serviceName=数据库连接服务名
directoryName=保存文件真实目录(与逻辑目录相同)
backupsFileDay=保留几天的备份文件
expdpStr=导出工具expdp的路径
saveDb=备份的模式名称,多个模式名中间用逗号隔开

4、使用注意事项:

使用注意事项:
1、默认的是.sh、.txt文件都要放在/woclod/shell脚本下,如果放置的路径变了,需要修改.sh中读取.txt配置文件的路径
2、对于不同的Linux环境下,要修改dm_db_backups_conf.txt文件中的配置信息,比如dexp的路径、脚本头部sh路径等信息;
2、用户密码中不要含有@等关键字符;

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值