开发者社区> 科技探索者> 正文

mysql 自动定时备份

简介:
+关注继续查看

说明:以下是数据库自动备份脚本,可以保存成.bat的方式,然后用计划任务去定时执行。


::echo 数据库开始备份!


@echo off


::定义磁盘

set disk=D

::定义单位名称 

set unit=jd_scjdj

::定义压缩文件路径

set rar=C:\Program Files\WinRAR


::定义存放路径

set filepath_ntdat=%disk%:\webserver\data_bak\ntdat

set filepath_ntcms=%disk%:\webserver\data_bak\ntcms_jd_scjdj

set filepath_ntlas=%disk%:\webserver\data_bak\ntlas_jd_sc

set filepath_ntlfs=%disk%:\webserver\data_bak\ntlfs_jd_sc

set filepath_ntpms=%disk%:\webserver\data_bak\ntpms_jd_sc

set filepath_ntrem=%disk%:\webserver\data_bak\ntrem_jd_sc

set filepath_pras=%disk%:\webserver\data_bak\pras

::定义文件类型

set filetype=MySQL

::定义时间格式

set datetime="%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"

::定义文件名

set filename_ntdat=ntdat_%unit%-%filetype%-%datetime%

set filename_ntcms_jd_scjdj=ntcms_jd_scjdj_%unit%-%filetype%-%datetime%

set filename_ntlas_jd_sc=ntlas_jd_sc_%unit%-%filetype%-%datetime%

set filename_ntlfs_jd_sc=ntlfs_jd_sc_%unit%-%filetype%-%datetime%

set filename_ntpms_jd_sc=ntpms_jd_sc_%unit%-%filetype%-%datetime%

set filename_ntrem_jd_sc=ntrem_jd_sc_%unit%-%filetype%-%datetime%

set filename_pras=pras_%unit%-%filetype%-%datetime%

::判断文件夹是否存在

If Not Exist %filepath_ntdat% MD %filepath_ntdat%

If Not Exist %filepath_ntcms% MD %filepath_ntcms%

If Not Exist %filepath_ntlas% MD %filepath_ntlas%

If Not Exist %filepath_ntlfs% MD %filepath_ntlfs%

If Not Exist %filepath_ntpms% MD %filepath_ntpms%

If Not Exist %filepath_ntrem% MD %filepath_ntrem%

If Not Exist %filepath_pras%  MD %filepath_pras%


::备份数据库

cd /d "%disk%:\webserver\tools\mysql_5.6.26\bin"

mysqldump.exe --opt -u "root" --password="root" "ntdat" > "%filepath_ntdat%\ntdat.sql"

mysqldump.exe --opt -u "root" --password="root" "ntcms" > "%filepath_ntcms%\ntcms_jd_scjdj.sql"

mysqldump.exe --opt -u "root" --password="root" "ntlas" > "%filepath_ntlas%\ntlas_jd_sc.sql"

mysqldump.exe --opt -u "root" --password="root" "ntlfs" > "%filepath_ntlfs%\ntlfs_jd_sc.sql"

mysqldump.exe --opt -u "root" --password="root" "ntpms" > "%filepath_ntpms%\ntpms_jd_sc.sql"

mysqldump.exe --opt -u "root" --password="root" "ntrem" > "%filepath_ntrem%\ntrem_jd_sc.sql"

mysqldump.exe --opt -u "root" --password="root" "pras" > "%filepath_pras%\pras.sql"


::压缩备份文件

cd /d "%filepath_ntdat%"

"%rar%\WinRAR.exe" A "%filename_ntdat%.rar" "ntdat.sql"

del /Q "ntdat.sql"

cd /d "%filepath_ntcms%"

"%rar%\WinRAR.exe" A "%filename_ntcms_jd_scjdj%.rar" "ntcms_jd_scjdj.sql"

del /Q "ntcms_jd_scjdj.sql"

cd /d "%filepath_ntlas%"

"%rar%\WinRAR.exe" A "%filename_ntlas_jd_sc%.rar" "ntlas_jd_sc.sql"

del /Q "ntlas_jd_sc.sql"

cd /d "%filepath_ntlfs%"

"%rar%\WinRAR.exe" A "%filename_ntlfs_jd_sc%.rar" "ntlfs_jd_sc.sql"

del /Q "ntlfs_jd_sc.sql"

cd /d "%filepath_ntpms%"

"%rar%\WinRAR.exe" A "%filename_ntpms_jd_sc%.rar" "ntpms_jd_sc.sql"

del /Q "ntpms_jd_sc.sql"

cd /d "%filepath_ntrem%"

"%rar%\WinRAR.exe" A "%filename_ntrem_jd_sc%.rar" "ntrem_jd_sc.sql"

del /Q "ntrem_jd_sc.sql"

cd /d "%filepath_pras%"

"%rar%\WinRAR.exe" A "%filename_pras%.rar" "pras.sql"

del /Q "pras.sql"

::echo 数据库结束备份!

本文转自杨海龙的博客博客51CTO博客,原文链接http://blog.51cto.com/7218743/1844513如需转载请自行联系原作者


IT达仁

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Mysql编写定时任务事件
原文:Mysql编写定时任务事件 场景:   例如:某系统,用户每天只能拥有一次的抽奖机会,抽过后当天就不可再抽,但是过了24:00点后用户就重新拥有一次抽奖机会。像这种需要数据库定时对某个字段进行更新操作的任务,完全可以通过数据库本身的事件机制进行操作,而服务器端也不需要用额外的代码进行这种监控定时的操作。
1057 0
Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
一、背景 在我之前的博客 git学习——> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/77070977) 里面已经写清楚了如何使用Gitlab自动备份功能。
1942 0
MySQL数据库 Event 定时执行任务.
一、背景   由于项目的业务是不断往前跑的,所以难免数据库的表的量会越来越庞大,不断的挤占硬盘空间。即使再大的空间也支撑不起业务的增长,所以定期删除不必要的数据是很有必要的。在我们项目中由于不清理数据,一个表占的空间竟然达到了4G之多。
1337 0
[mysql]MySQL定时备份(windows7)
1)通过编辑器(例如:notepad++,vim)写入以下语句保存: set “Ymd=%date:~,4%%date:~5,2%%date:~8,2%” C:\xampp\mysql\bin\mysqldump –op...
669 0
Mysql - 存储过程 - 定时删表
Mysql - 存储过程 - 定时删表在工业监控里面, 需要对每天的数据, 进行记录, 时间长了之后, 数据库很容易撑爆. 这时候, 如果允许, 可以对之前的数据进行一次清除, 只记录几个月内的数据.
795 0
使用SQL Server 2005作业设置定时任务
原文:使用SQL Server 2005作业设置定时任务 公司有一个老项目由于直接把终端拍摄的图片以二进制的形式保存到数据库中,数据库比较大所以需要经常删除这些冗余数据,手动删除费时费力,项目组长让我把这些操作变成自动的,每天执行一次,只保留最近两个月的图片数据。
707 0
SQL Server 数据库定时自动备份
原文:SQL Server 数据库定时自动备份 SQL Server 数据库定时自动备份——每天定时备份,保留前8天的备份 利用SQL Server代理新建作业来定期备份 1)在数据库库的【SQL Server代理】->【作业】,右键【新建作业】 2)在【常规】选项卡设置【名称】(自定义) ...
1154 0
gdy
MySQL定时备份数据库(全库备份)
一、MySQL数据备份 1.1、 mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump,首先我们简单了解一下mysqldump命令用法: #MySQLdump常用 mysqldump -u root -p --databases 数据库1 数据库2 > xxx.
1974 0
5487
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载