MySQL备份Shell脚本的实现,
目录
- 示例:MySQL 备份 Shell 脚本
- 使用方式
你可以编写一个 Shell 脚本来自动备份 MySQL 数据库。下面是一个示例脚本,它会:
- 备份指定数据库(或所有数据库)。
- 按日期命名备份文件,防止覆盖。
- 自动删除 N 天前的旧备份,节省空间。
示例:MySQL 备份 Shell 脚本
#!/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脚本内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!
您可能感兴趣的文章:- shell脚本实现mysql数据库双机定时备份的方法
- mysql常用备份命令和shell备份脚本分享
- shell脚本实现mysql定时备份、删除、恢复功能
- 用shell写一个mysql数据备份脚本
- MySQL数据库的shell脚本自动备份
- linux下mysql如何自动备份shell脚本
- 一个简单的MySQL备份Shell脚本
- Shell脚本自动备份MySQL到FTP并定期清理过期备份
- shell实现自动备份mysql、整站数据的两个脚本分享
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。