自动备份mysql并删除7天前备份
可以使用脚本实现自动备份mysql和删除过期备份的功能。 以下是一个使用bash脚本实现自动备份mysql和删除7天前备份的例子: ``` #!/bin/bash # MySQL参数 USER="root" # 修改为你的MySQL用户名 PWD="password" # 修改为你的MySQL密码 HOST="localhost" # 修改为你的MySQL主机地址 DBNAME="dbname" # 修改为你要备份的数据库名称 # 备份参数 BACKUP_DIR="/opt/backup" # 备份文件存储目录 DATE=$(date +%Y%m%d%H%M%S) # 当前日期时间 # 备份MySQL数据库 mysqldump -u $USER -h $HOST -p$PWD $DBNAME > $BACKUP_DIR/$DBNAME-$DATE.sql # 删除7天前的备份文件 find $BACKUP_DIR -name "$DBNAME-*.sql" -type f -mtime +7 -exec rm {} \; ``` 脚本的思路是先用mysqldump命令备份mysql数据库,然后使用find命令删除7天前的备份文件。其中,脚本使用了以下参数: - USER:MySQL用户名 - PWD:MySQL密码 - HOST:MySQL主机地址 - DBNAME:要备份的数据库名称 - BACKUP_DIR:备份文件存储目录 - DATE:当前日期时间 脚本使用了mysqldump命令备份mysql数据库,将备份文件保存到BACKUP_DIR目录下,并按照日期时间命名备份文件。 脚本使用了find命令查找备份文件,并删除7天前的备份文件。其中,find命令的参数解释如下: - -name:文件名匹配模式 - -type f:只查找文件,不包含目录 - -mtime +7:查找修改时间比7天前早的文件 - -exec rm {} \;:执行删除操作 将脚本保存为backup.sh文件,并设置为可执行文件: ``` chmod +x backup.sh ``` 然后,可以使用cron定时任务来执行脚本自动备份mysql数据库和删除过期备份文件。例如,设置每天凌晨3点执行一次备份任务,可以使用以下cron表达式: ``` 0 3 * * * /path/to/backup.sh ``` 最后,测试一下脚本是否能够正常备份mysql数据库和删除过期备份文件。