54人参与 • 2025-03-25 • Powershell
你可以编写一个 shell 脚本来自动备份 mysql 数据库。下面是一个示例脚本,它会:
#!/bin/bash # 配置部分 backup_dir="/backup/mysql" # 备份存放目录 mysql_user="root" # mysql 用户名 mysql_password="yourpassword" # mysql 密码 mysql_host="localhost" # mysql 服务器地址 database_name="your_database" # 备份的数据库名,若要备份所有数据库,改为 --all-databases retention_days=7 # 保留的天数,自动删除旧备份 # 获取当前日期 date=$(date +"%y-%m-%d_%h-%m-%s") # 备份文件名 backup_file="$backup_dir/${database_name}_$date.sql.gz" # 确保备份目录存在 mkdir -p "$backup_dir" # 执行备份 mysqldump -h "$mysql_host" -u "$mysql_user" -p"$mysql_password" "$database_name" | gzip > "$backup_file" # 检查备份是否成功 if [ $? -eq 0 ]; then echo "mysql 备份成功: $backup_file" else echo "mysql 备份失败!" exit 1 fi # 删除 n 天前的旧备份 find "$backup_dir" -type f -name "${database_name}_*.sql.gz" -mtime +$retention_days -exec rm {} \; echo "已清理 $retention_days 天前的旧备份"
复制脚本到 linux 服务器,如 /backup/mysql_backup.sh
。
修改脚本参数(数据库名、用户名、密码等)。
赋予执行权限:
chmod +x /backup/mysql_backup.sh
手动运行测试:
/backup/mysql_backup.sh
设置定时任务,每天凌晨 2 点自动备份:
crontab -e
添加:
0 2 * * * /backup/mysql_backup.sh >> /backup/backup.log 2>&1
这样,你的 mysql 数据库就能每天自动备份并清理旧备份,确保数据安全!
到此这篇关于mysql备份shell脚本的实现的文章就介绍到这了,更多相关mysql备份shell脚本内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论