创建一个备份脚本文件,例如 backup_mysql.sh,并将以下内容添加到该文件中:
#!/bin/bash
# 设置数据库连接信息
DB_USER="your_database_user"
DB_PASSWORD="your_database_password"
DB_NAME="your_database_name"
BACKUP_DIR="/path/to/your/backup/directory"
DATE=$(date +%Y%m%d)
# 创建备份目录
mkdir -p $BACKUP_DIR
# 使用 mysqldump 命令备份数据库
mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_DIR/$DB_NAME-$DATE.sql
# 压缩备份文件
gzip $BACKUP_DIR/$DB_NAME-$DATE.sql
# 删除 7 天前的备份文件
find $BACKUP_DIR -type f -mtime +7 -name "*.sql.gz" -exec rm {} \;
2、替换脚本中的 your_database_user、your_database_password、your_database_name 和 /path/to/your/backup/directory 为实际的数据库连接信息和备份目录路径。
3、为脚本添加可执行权限:
chmod +x backup_mysql.sh
4、使用 crontab 命令创建一个定时任务,以便每天自动运行备份脚本。首先,打开当前用户的 crontab 配置文件:
crontab -e
5、在打开的编辑器中,添加以下行以设置每天凌晨 1 点执行备份脚本:
0 1 * * * /path/to/your/backup_mysql.sh
6、保存并退出编辑器。现在,每天凌晨 1 点,系统将自动执行备份脚本,将数据库备份到指定的目录,并保留最近 7 天的备份文件。