以下是一个基本的 MySQL 8.0.27 mysqldump 备份脚本:
#!/bin/bash
# Set variables
MYSQL_USER="your_username"
MYSQL_PASSWORD="your_password"
MYSQL_DATABASE="your_database_name"
BACKUP_DIR="/path/to/backup/directory"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
# Create backup directory if it doesn't exist
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
fi
# Run mysqldump and compress the output
mysqldump --user="$MYSQL_USER" --password="$MYSQL_PASSWORD" --databases "$MYSQL_DATABASE" | gzip > "$BACKUP_DIR/$MYSQL_DATABASE-$DATE.sql.gz"
# Delete backups older than 7 days
find "$BACKUP_DIR" -name "*.sql.gz" -type f -mtime +7 -delete
将以上脚本保存为一个可执行文件(例如 backup.sh),通过设置变量来指定要备份的数据库和备份文件的输出目录。然后,将该脚本添加到 crontab 中以每天定期运行备份。