1. 编写备份脚本文件
复制下述内容到txt文件中,然后保存(注意:若在windows下编辑的,需要将换行符转换为unix换行符)。最后将文件重名为 MySqlBackUp_Script.sh即可并上传到服务器。
#!/bin/bash
echo '===============Start BackUp MySQL==============='
# 设置数据库访问凭证
User="" #用户名
Pwd="" #密码
DB="" #待备份的数据库名称
# 备份文件存放路径
BackUp_Path="/home/mysqlbackup/data"
# 备份文件名
TIMESTAMP=$(date +"%F")
BackUp_File="${BackUp_Path}/${DB}-${TIMESTAMP}.sql"
# 执行数据库备份
mysqldump -u ${User} -p${Pwd} ${DB} > ${BackUp_File}
# 压缩备份文件
gzip ${BackUp_File}
# 删除超过7天的旧备份文件
find $BackUp_Path -name "${BackUp_File}*.sql.gz" -type f -mtime +7 -exec rm -f {} \;
echo '===============Finish BackUp MySQL==============='
2. 赋予sh脚本可执行权限
chmod +x MySqlBackUp_Script.sh
3. Linux中添加定时执行任务
前置条件:先检查是否安装了crond,如果没有,先安装。
1.命令:crontab -e
2.然后填写cron表达式,及执行的脚本文件
0 0 * * * /home/mysqlbackup/MySqlBackUp_Script.sh
上述表达式表示每天0点执行MySqlBackUp_Script备份脚本文件。
上述两步完成之后便达到了定时备份目标。
检查crond状态命令:systemctl status crond