自动备份mysql并删除7天前备份

1.远程连接服务器


先参看https://faq.myhostadmin.net/faq/listagent.asp?unid=417 教程远程登陆服务器


2.下载备份脚本文件


windows: 下载http://downinfo.myhostadmin.net/vps/bkupmysql.bat 保存到d盘根目录

linux:  wget  http://downinfo.myhostadmin.net/vps/bkupmysql.sh 保存到/root目录


3.编辑脚本文件

windows:

用记事本打开bkupmysql.bat     

set dbuser=root                        #设置数据库用户,一般不需要修改

set dbpass=passwd                      #设置数据库超管密码,需要修改为实际的密码

set DaysAgo=7                          #设置保留天数

set mysqlpath=d:\mysqlbak              #设置备份文件保存路径,一般不需要修改

set mysql=D:\SOFT_PHP_PACKAGE\mysql\bin\mysql.exe   #设置备份文件保存路径,5.6版本需要修改路径

set mysqldump=D:\SOFT_PHP_PACKAGE\mysql\bin\mysqldump.exe #设置mysql执行文件路径,5.6版本需要修改路径

set logfile=d:\bkinfo.log              #设置备份成功与否日志文件,一般不需要修改

set logfail=d:\bkfail.log              #设置失败过程详细日志文件,一般不需要修改

注意:若创建的数据库中包含Database,test,information_schema,performance_schema,mysql字符,

请删除

findstr -v "^Database$ ^Database$ ^test$ ^information_schema$ ^performance_schema$ ^mysql$"

中对应的名称

linux:

vi bkupmysql.sh

按i进入编辑模式

dbuser='root'                         #设置数据库用户,一般不需要修改

dbpass='passwd'                       #设置数据库超管密码,需要修改为实际的密码

DaysAgo='7'                           #设置保留天数

mysqlpath='/home/backup/mysql'        #设置备份文件保存路径,一般不需要修改

mysql='/www/wdlinux/mysql/bin/mysql'  #设置mysql执行文件路径,一般不需要修改

mysqldump='/www/wdlinux/mysql/bin/mysqldump'  #设置mysqldump执行文件路径,一般不需要修改

exclude_db="^Database$\|^mysql$\|^information_schema$\|^performance_schema$\|^test$" 

#设置禁止备份的数据库名,一般不需要修改

logfile='/root/bkinfo.log'            #设置备份成功与否日志文件,一般不需要修改

#logfail='/root/bkfail.log'           #设置失败过程详细日志文件,一般不需要修改

主要修改数据库密码,其他可保持默认

修改完成后按ESC键返回,按:wq保存退出

4.添加任务计划

每天凌晨4点执行

windows:

cmd下执行

schtasks /create /tn "bkupmysql" /ru system /tr d:\bkupmysql.bat /sc daily /st 04:00

linux:

crontab -e

按i进入编辑状态,在末尾换行,复制以下内容,其中/root/bkfail.log为失败详细日志保存路径

0 4 * * * /bin/sh /root/bkupmysql.sh >>/root/bkfail.log 2>&1

按ESC键返回,按:wq保存退出



提示:以上脚本仅供参考,实际应用可能因环境、权限、配置等不同造成不能备份或其他异常,我司不对此负责,请根据实际情况自行调整。


日期:2017-08-28

打印 】