首先先创建mysql_backup.sh文件
#!/bin/bash # MySQL连接信息 MYSQL_USER="用户名" MYSQL_PASSWORD="密码" MYSQL_DB="数据库名称" # 备份存储目录 BACKUP_DIR="存储的地址" # 当前日期作为备份文件名的一部分 BACKUP_DATE=$(date +"%Y%m%d") # MySQL备份文件名 BACKUP_FILE="$BACKUP_DIR/mysql_backup_$BACKUP_DATE.sql" # 创建备份目录(如果不存在) mkdir -p $BACKUP_DIR # 使用mysqldump命令备份数据库 mysqldump -u $MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DB > $BACKUP_FILE # 检查备份是否成功 if [ $? -eq 0 ]; then echo "MySQL backup successfully created: $BACKUP_FILE" else echo "Error creating MySQL backup!" exit 1 fi # 清理旧备份文件,保留最近7天的备份 find $BACKUP_DIR -type f -name "mysql_backup_*" -mtime +7 -exec rm {} \; echo "Old backups older than 7 days have been cleaned up." exit 0
然后赋予脚本执行权限,要进入到脚本的目录执行
chmod +x mysql_backup.sh
然后打开定时任务编辑器使用命令 crontab -e 添加linux的定时任务,这里是每天凌晨三点执行,可以自己查看cron表达式根据自己需求修改
0 3 * * * /data/mysql_backup.sh > /dev/null 2>&1