一个自动备份脚本

原文:https://blog.csdn.net/LSY_CSDN_/article/details/91354276

backupFilePath=/home/zhanglei/data/www/
saveBackupFilePath=/home/zhanglei/data/www/back
fileName=upload
backupsFileDay=8

上面是配置文件

 

执行主体:

 

#db_backups_conf.txt文件路径
dir=`"pwd"`
db_backups_conf="${dir}/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


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

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

	#备份文件
	echo $(date +'%Y-%m-%d %H:%M:%S')" 备份文件:"${map["backupFilePath"]}

	#判断保存备份文件路径是否存在
	if [ -f "|${map['saveBackupFilePath']}/${saveday}/${map['fileName']}_$(date +'%Y%m%d%H%M%S')" ];then
		cp -f -r ${map["backupFilePath"]} ${map["saveBackupFilePath"]}/${saveday}/${map["fileName"]}_$(date +'%Y%m%d%H%M%S')/
   	else
		mkdir -p ${map["saveBackupFilePath"]}/${saveday}/${map["fileName"]}_$(date +'%Y%m%d%H%M%S')
		cp -f -r ${map["backupFilePath"]} ${map["saveBackupFilePath"]}/${saveday}/${map["fileName"]}_$(date +'%Y%m%d%H%M%S')/
	fi

	#删除保存文件路径中n天前备份的数据文件
	echo $(date +'%Y-%m-%d %H:%M:%S')" 删除备份文件:"${map["saveBackupFilePath"]}/${delday}
	rm -f -r ${map["saveBackupFilePath"]}/${delday}

	echo $(date +'%Y-%m-%d %H:%M:%S')" 文件备份完毕,脚本执行完毕"

else
	echo "配置文件不存在"
fi

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值