Mysql数据库备份脚本并压缩数据保存10天

定时任务

crontab -e

#数据库备份
#每天凌晨3点备份一次数据库
00 03 * * * /home/java_space/script/db_backup.sh >> /home/java_space/script/logs/db/db.backup.`date +"\%Y\%m\%d"`.log 2>&1

脚本

#!/bin/bash

#获取当前时间
today=$(date "+%Y%m%d")
# 删除10天前
before10=$(date -d"10 day ago" +%Y%m%d)
# backupHome="/home/backup/"
backupHome="/home/backup/"
username="数据库用户名"
password="数据库密码"
databases=("数据库1" "数据库2")
# mysqldump="/usr/local/mysql/bin/mysqldump"
mysqldump="/usr/local/mysql/bin/mysqldump"

echo "Backup Databases..."

#进入到备份文件目录
cd ${backupHome}

for db in ${databases[@]};do
	# 备份文件
    ${mysqldump} -u${username} -p${password} --lock-all-tables --flush-logs ${db} > ${db}_${today}.sql;
	
	#压缩备份文件
	tar zcvf ${db}.${today}.tar.gz ${db}_${today}.sql;
	
	# 删除10天前的压缩文件跟今天未压缩的文件
	rm -f "${db}_${before10}.sql.tar.gz";
	rm -f "${db}_${today}.sql";

	echo "finish backup mysql database ${db}_${before10}.sql.tar.gz";
done

查看日志, 如果提示 "/bin/sh: /home/java_space/script/db_backup.sh: Permission denied
" 权限不足

使用命令

# 授权脚本可执行权限
chmod a+x /home/java_space/script/db_backup.sh

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值