CentOS自动备份MySQL数据库:营销产品数据每小时压缩备份

本文将指导您如何在CentOS系统中使用MySQL脚本和crontab定时器,实现对营销产品数据库'marketing_product'的每小时自动备份,并将备份文件压缩到指定目录。

脚本代码

#!/bin/bash

# 定义备份目录和文件名
backup_dir='/home/db'
backup_file='marketing_product_$(date +%Y%m%d%H%M%S).sql'
gzip_file='$backup_file.gz'

# 备份数据库表到指定目录
mysqldump -u root -pPASSWORD marketing_product > '$backup_dir/$backup_file'

# 压缩备份文件
gzip '$backup_dir/$backup_file'

# 删除旧的备份文件,只保留最新的压缩文件
find '$backup_dir' -name 'marketing_product_*.gz' -type f -mmin +60 -delete

脚本逻辑解释

  1. 定义备份目录和文件名,其中文件名包含当前时间戳,以便每个小时生成不同的备份文件。
  2. 使用'mysqldump'命令备份'marketing_product'数据库表到指定目录。
  3. 使用'gzip'命令压缩备份文件,生成'.gz'文件。
  4. 使用'find'命令删除旧的备份文件,只保留最新的压缩文件。这里的'-mmin'选项表示按照修改时间来查找文件,并且只保留修改时间在60分钟内的文件,也就是最新的备份文件。

添加到crontab

  1. 将以上脚本保存为一个可执行文件,例如'backup.sh'。
  2. 使用以下命令赋予脚本执行权限:
chmod +x backup.sh
  1. 使用以下命令编辑crontab文件:
crontab -e
  1. 在crontab文件中添加以下行,以实现每个小时的0分钟执行备份脚本:
0 * * * * /path/to/backup.sh

其中'/path/to/backup.sh'需要替换为脚本'backup.sh'的实际路径。

修改完毕后保存并退出crontab即可。

总结

通过以上步骤,您已经成功设置了每小时自动备份'marketing_product'数据库并压缩到'/home/db'目录。建议您定期检查备份文件,并根据实际需求调整备份策略。

CentOS自动备份MySQL数据库:营销产品数据每小时压缩备份

原文地址: https://www.cveoy.top/t/topic/g0I9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录