帮助中心 >  技术知识库 >  数据库 >  相关技术支持 >  windows、linux环境下mysql数据备份脚本

windows、linux环境下mysql数据备份脚本

2016-12-26 04:15:11 5527

1.windows sql备份,以下脚本保存为sql_bak.bat。然后 配置你的ftp地址用户密码等信息即可使用。

@echo off

rem 获取当天日期,%date:~,4% 这是年,一对%%为一个内容获取区间。

set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%"

set ftpfile=D:mysql-backupputfile.ftp

md "D:mysql-backup\%ymd%"

rem rem 命令在dos里为注释的意思。下面?命令中 test为库名 后面跟的是用户名密码 然后备份的路径

"E:MySQLMySQL Server 5.5inmysqldump.exe" --opt --default-character-set=utf8 test -uroot -p123456 > D:mysql-backup\%Ymd% est.sql

rem 利用7-zip 的压缩命令压缩文件

"C:Program Files (x86)7-Zip7z.exe" D:mysql-backup\%ymd%.zip D:mysql-backup\%ymd%

rem ftp.test.com 是你的ftp地址 后面是用户名 跟密码

echo open ftp.test.com > "%ftpfile%"

echo username>> "%ftpfile%"

echo password>> "%ftpfile%"

rem 切换目录然后上传

echo bin >> "%ftpfile%"

echo cd mysql-backup/SY >> "%ftpfile%"

echo put D:mysql-backup\%ymd%.zip >> "%ftpfile%"

echo bye >> "%ftpfile%"

ftp -s:%ftpfile%

del %ftpfile%

del D:mysql-backup\%ymd%.zip


二、linux 数据库sql备份

#!/bin/bash

#

#

###########DUMP MYSQL############

USER="root"

PASSWD="password"

HOST="localhost"

MYSQL="/usr/local/mysql/bin/mysql"

#bin 目录

MYSQLDUMP="/usr/local/mysql/bin/mysqldump --default-character-set=gbk --opt"

#获取日期2016-12-06格式

DATE=`date -I`

#备份目录

BACKUP="/var/backup"

#过滤掉系统库

DATABASES=`$MYSQL -u$USER -p$PASSWD -h$HOST -Bse "show databases"|grep -Ev "(mysql|info|test|schema)" `

#循环备份

for i in $DATABASES

do

if [ ! -d $BACKUP/$DATE ] ; then

mkdir -p $BACKUP/$DATE

fi

echo -e "Now dump $i"

$MYSQLDUMP -u$USER -p$PASSWD $i | gzip > $BACKUP/$DATE/$i.sql.gz

done

cd $BACKUP

删掉创建5天之前的文件

find ./ -ctime +5 -exec rm -rf {} ;


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: