一个备份 MySQL 数据库并定期删除 7 天前备份文件的脚本示例:
#!/bin/bash
# 备份目录
backup_dir="/path/to/backup"
# MySQL 连接参数
mysql_user="username"
mysql_password="password"
mysql_host="localhost"
mysql_database="database_name"
# 备份文件名
backup_file="${backup_dir}/backup_$(date '+%Y%m%d%H%M%S').sql"
# 备份数据库
mysqldump -u"${mysql_user}" -p"${mysql_password}" -h"${mysql_host}" "${mysql_database}" > "${backup_file}"
# 删除 7 天前的备份文件
find "${backup_dir}" -name "backup_*" -type f -mtime +7 -exec rm {} \;
在上述脚本中,你需要修改以下变量来适应你的环境:
backup_dir
:备份文件存储目录的路径。mysql_user
:MySQL 数据库的用户名。mysql_password
:MySQL 数据库的密码。mysql_host
:MySQL 数据库的主机名或 IP 地址。mysql_database
:要备份的数据库的名称。
脚本使用 mysqldump
命令来备份 MySQL 数据库,并将备份文件保存为以当前日期和时间命名的文件。然后,使用 find
命令查找并删除 7 天前的备份文件。
请确保在运行脚本之前,你已经创建了备份目录,并且具有足够的权限执行备份和删除操作。保存脚本并给予执行权限(使用 chmod +x script.sh
),然后可以将其设置为定期执行。
使用 crontab每天的凌晨1点运行这个脚本
crontab -e
0 1 * * * /path/to/script.sh
这样,脚本将会每天备份 MySQL 数据库,并删除 7 天前的备份文件,以保持备份目录的清洁。