mysql定时删除备份_定时每天备份mysql并定时删除上月记录(脚本)

定时每天备份mysql并定时删除上月记录(脚本)

【 来源:网络 更新时间:2010-10-14 | 字体:大 中 小】

shell脚本:

备份的脚本比较简单:

#!/bin/bash

# 定义年 月 日

year=`date   +%Y`

month=`date   +%m`

day=`date   +%d`

# 定义备份的目录

BACKDIR=/bak_1/mysql/$year/$month/$day

# MySQL的root密码

ROOTPASS=123456

# 建立目录

mkdir -p $BACKDIR

# 获取数据库列表

DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

# 备份

for dbname in $DBLIST

do

mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy

done

复制代码

上面的脚本将

数据

库按"年/月/日"目录结构备份,将脚本存为back.sh添加到cron里每天凌晨3点执行

00 03 * * * root /root/back.sh

下面的是每月3号删除上个月的备份,存为del_bak.sh,每月3号3点3分执行

03 03 03 * * root /root/del_bak.sh

注意脚本上传后,要chmod一下权限,比如chmod 755 /root/back.sh

#!/bin/bash

# 定义年 月 日

year=`date   +%Y`

month=`date   +%m`

#day=`date   +%d`

# 取上一个月

month=`expr $month - 1`

# 如果是1月,则上一月为12,并且年也减1

if [ $month -eq 0 ]; then

month=12

day=31

year=`expr $year - 1`

fi

# 因为备份时小于10月的月份有前导零,所以这里判断如果小于10月,则加前导零

if [ $month -lt 10 ]; then

pre=0

fi

#获取要删除的目录名

BACKDIR=/bak1/mysql/$year/$pre$month

#删除了

rm -rf $BACKDIR

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL可以使用脚本来实现定时备份删除。下面是一个简单的示例脚本,它可以在Linux系统中使用cron定时任务来执行。 ```bash #!/bin/bash # 设置备份目录和文件名 backup_dir="/path/to/backup" backup_file="db_backup_$(date +%Y%m%d%H%M%S).sql.gz" # 设置数据库连接信息 db_host="localhost" db_user="root" db_password="password" db_name="database_name" # 备份数据库到指定目录 mysqldump -h $db_host -u $db_user -p$db_password $db_name | gzip > $backup_dir/$backup_file # 检查备份文件是否创建成功 if [ -f $backup_dir/$backup_file ]; then echo "数据库备份成功: $backup_dir/$backup_file" else echo "数据库备份失败" fi # 删除过期备份文件 find $backup_dir -name "db_backup_*" -type f -mtime +7 -delete ``` 上述脚本通过使用`mysqldump`命令将指定的数据库备份为一个压缩文件,并将其保存在指定的备份目录中。脚本中的变量`db_host`、`db_user`、`db_password`和`db_name`需要根据实际情况进行修改。 脚本还包含一个用于删除过期备份文件的命令。在这个示例中,通过`find`命令查找指定目录下创建日期超过7天的备份文件,并将其删除。你可以根据需要自行调整删除操作的条件。 请确保在执行脚本之前设置正确的文件保存路径和MySQL连接信息。可以使用`chmod +x script_name.sh`命令将脚本设置为可执行文件,并使用`crontab -e`命令将其添加到cron的定时任务中,来实现定时备份删除的功能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值