mysql数据自动备份脚本

复制代码
#!/bin/bash

# 日期
date=$(date '+%Y%m%d')
# 设置备份目录和保留天数  
backup_dir="/opt/dbback"
retention_days=7

#数据库账密
muser=
mpasswd=
mhost=
# 创建备份目录(如果不存在)  
mkdir -p $backup_dir

# 获取当前时间戳  
now=$(date +%s)

# 备份MySQL数据库到备份目录中
mysqldump -u${muser} -p${mpasswd} user > $backup_dir/${date}_user.sql
# 备份全量
mysqldump --socket=/var/lib/mysql/mysql.sock --single-transaction --master-data=2 -u${muser} -p${mpasswd} -h${mhost}  --all-databases > $backup_dir/dbbak_${date}.sql

# 遍历备份目录中的所有文件,找到7天前的备份文件并删除  
for file in $backup_dir/*; do
  file_timestamp=$(stat -c %Y $file)
  file_age=$(($now - $file_timestamp))
  if [ $file_age -gt $(($retention_days * 86400)) ]; then
    rm -rf $file
  fi
done
复制代码

 

posted @   sxFu9528  阅读(342)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示