windows自动备份mysql数据库脚本

windows自动备份mysql数据库脚本,第1张

mysqldump -uroot welfare > d:\data_back\backsql

如果要定时备份

用这个批处理

for /f "Tokens=1 Delims=/ " %%i in ('date /t') do set dt=%%i

for /f "Tokens=1" %%i in ('time /t') do set tm=%%i

set tm=%dt%

SET bkupdir=d:\data_back

SET dbname=welfareSET dbuser=root

SET dbpassword=

SET CharacterSet=utf8

@ECHO Beginning backup of %dbname%

mysqldump -u %dbuser% -p%dbpassword% %dbname% --add-drop-table --complete-insert --opt>%bkupdir%\%dbname%-%tm%sql

@ECHO Done! New file: %bkupdir%\%dbname%-%tm%sql

sqlserver2008的数据库自动备份方法

在SQL Server中出于数据安全的考虑,所以需要定期的备份数据库。而备份数据库一般又是在凌晨时间基本没有数据库 *** 作的时候进行,所以我们不可能要求管理员每天守到晚上1点去备份数据库。要实现数据库的定时自动备份,最常用的方式就是使用SQL Server代理中的作业。启动SQL Server Agent服务,然后在其中新建作业,作业中添加1个备份步骤,类型是T-SQL脚本,然后在命令中输入如下SQL语句,该语句实现了对数据库 TestDB1的完整备份,备份文件在C盘Backup文件夹中,文件名就是TestDB1+当时备份的日期字符串bak。

declare @name varchar(250)

set @name='C:\Backup\TestDB1_'+convert(varchar(50),getdate(),112)+'bak'

BACKUP DATABASE [TestDB1] TO

DISK = @name

WITH NOFORMAT, NOINIT,

NAME = N'TestDB1-完整 数据库 备份',

SKIP, NOREWIND, NOUNLOAD

数据库备份文件名称中不能出现空格“ ”,冒号“:”

创建好步骤以后,接下来就是创建计划,创建计划的 *** 作十分简单,界面上说明的很详细了,我就不多说了。另外还可以配置警报和通知,不过一般很少用这个。

(1)在SSMS的对象资源管理器中右击“维护计划”,选择 “维护计划向导”,系统将d出向导窗口

(2)点击“下一步”按钮,进入选择计划属性窗口,输入计划的名称,由于我们的计划包括2部分:完整备份和差异备份,这2部分的执行计划是不一样的,一个是一周执行一次,另一个是一天执行一次,所以要选择“每项任务单独计划”,

(3)单击“下一步”按钮,选择维护任务,这里就是可以在维护计划中执行的任务,如果你想执行的任务在这里没有,那就还是不用维护计划来做,自己写 SSIS包或者SQL语句吧。我们要执行的任务都在这里,选中这2个任务

(4)单击“下一步”进入选择维护任务顺序的界面,这里我们可以看到选中的任务出现在列表中,但是我们并不能调整其顺序,那是因为在步骤2中我们选择的是每项任务单独计划,所以这2个任务是独立的,没有先后顺序可言。如果当时选择的是另一个选项,那么这里就可以调整顺序了

(5)选中“备份数据库(完整)”然后单击“下一步”按钮,系统将转到定义完整备份任务的界面

(6)单击“下一步”按钮,进入差异备份任务的设置界面,和上一步的界面是一样的, *** 作也是一样的,计划这里我们可以选择除了周日以外的每天进行差异备份

(7)单击“下一步”按钮,进入选择报告选项,这里我们可以将这个维护计划的执行报告写入文本文件中,也可以讲报告通过电子邮件发送给管理员。如果要发送邮件的话,那么需要配置SQL Server的数据库邮件,另外还要设置SQL Server代理中的 *** 作员,

1、每日自动备份

打开企业管理器,进入“管理”-“数据库维护计划”,在右侧窗口点击右键,选择“新建维护计划”,启动“数据库维护计划向导”;点击“下一步”选择需要维护的数据库,维护特性数据库时,选择最后一个单选框并勾选需要维护的数据库名称;“下一步”选择更新数据优化信息、“下一步”检查数据库完整性、“下一步”指定数据库备份计划、“下一步”指定备份存放位置、“下一步”指定事务日志备份计划、“下一步”指定报表,“下一步”指定历史纪录维护,最后设定维护作业名称;通常来说,如果只需要备份数据库文件,则只需要指定备份计划以及存放位置即可,其他项目不做改动。

在指定备份计划时候,由于需要每日备份,因此要更改调度。点击“更改”编辑调度。发生频率选择每天;每日频率选择作业开始时间,最好选择数据库访问量小时进行,多为半夜时间,可根据流量图确定具体时间;持续时间通常不用做改动,开始日期为编辑日期,无结束日期。

编辑好上述维护计划后,还要注意下

sql

server代理服务是否启动了,因为每日调度维护计划是要启动这个服务才能执行的。如果该服务没有启动,需要手动启动一下,这是可以在其子项“作业”中看到刚刚添加过的数据库维护计划。

2、定期自动清理数据库日志文件

数据库日志文件是随着时间增长而增长的,如果长时间不清理,文件会变得特别大,因此需要定期清空,但是日至文件是恢复数据库的重要依据,不用日志文件也是不明智的。手工清除单个数据库的还好说,但数据库多了,或者临时没有来得及清理,可能硬盘空间就会占满了,影响访问。因此设置自动清理数据库日志文件还是比较实用的。

手动清理方法:右键单击需要清理的数据库,选择“属性”,在“选项”卡上,把故障还原模型设定为简单,确定后关闭;再右键单击该数据库,“所有任务”-“收缩数据库”,确认后即可清除日志文件,最后记得重新选择“属性”,将故障还原模型设置为完全。

自动清理方法:同样是利用sql

server代理服务,执行自动作业。

打开企业管理器,进入“管理”-“sql

server代理服务”-“作业”,在右侧窗口点击右键,选择“新建作业”。“常规”选项卡中,填写作业名称,具体描述,注意所有者最好还是用sa或者默认的管理帐号。

转到“步骤”选项卡,新建作业步骤,填写步骤名称,类型为脚本,数据库为需要清理日志的数据库,在下边命令中填写以下命令:

DUMP

TRANSACTION

数据库名称

WITH

NO_LOG

DBCC

SHRINKFILE(数据库日志文件名,1)

上边的数据库名称填写需要维护的数据库名称,数据库日志文件名填写其对应的日志文件名,注意,不是资源管理器里看到的带后缀名的那个名字,而是企业管理器里,数据库属性里日志选项卡中日志的名字(通常也只是差一个后缀名……),确定后添加一个作业步骤。

如果需要维护多个数据库,用上述方法重复添加作业步骤,注意每个步骤成功或失败后的动作即可,最后选择一下开始的步骤。

在“调度”选项卡中,类似备份的维护计划,填写调度周期,即定期清理的周期,不再细述。如果需要,可以在最后的“通知”选项卡上设置作业完成后的通知项,需要设置 *** 作员,以及设置相应的服务,这里也不具体说明了,通常不用……

配置批处理文件

1

新建名为"oracleBackup"的文本文档(名字自己定),然后重命名后缀为"oracleBackupbat"的批处理文件。

2

在oracleBackupbat文件上点击右键,选择编辑,填写以下相关内容:

rem ---------------------------------------------------------------------------

rem windows环境下Oracle数据库的自动备份脚本。

rem 可以将本批处理设成windows任务计划下自动执行。

@echo off

@echo ================================================

@echo windows环境下Oracle数据库的自动备份脚本

@echo 说明:启动备份时,需要配置以下变量

@echo 1、BACKUP_DIR 指定要备份到哪个目录

@echo 2、ORACLE_USERNAME 指定备份所用的Oracle用户名

@echo 3、ORACLE_PASSWORD 指定备份所用的Oracle密码

@echo 4、ORACLE_DB 指定备份所用的Oracle连接名

@echo 5、BACK_OPTION 备份选项,可以为空,可以为full=y,可以为owner=a用户,b用户 等等

@echo 6、RAR_CMD 指定RAR命令行压缩工具所在目录

@echo ================================================

rem 以下变量需要根据实际情况配置------> 注意:此脚本必须放在E:\backup目录下

set BACKUP_DIR=E:\backup

set ORACLE_USERNAME=se

set ORACLE_PASSWORD=xj

set ORACLE_DB=xj_orcl

set BACK_OPTION= OWNER=se

set RAR_CMD="C:\Program Files\WinRAR\Rarexe"

for /f "tokens=1,2" %%a in ('date/t') do set TODAY=%%a

set BACK_NAME=%ORACLE_DB%_%TODAY%()_

set BACK_FULL_NAME=%BACKUP_DIR%\%BACK_NAME%

rem 开始备份

exp %ORACLE_USERNAME%/%ORACLE_PASSWORD%@%ORACLE_DB% %BACK_OPTION% file="%BACK_FULL_NAME%dmp" log="%BACK_FULL_NAME%explog"

rem 压缩并删除原有文件

%RAR_CMD% a -df "%BACK_FULL_NAME%backrar" "%BACK_FULL_NAME%dmp" "%BACK_FULL_NAME%explog"

rem ---------------------------------------------------------------------------

forfiles /m rar -d -7 /c "cmd /c del /f @path"

3

配置相关参数:

BACKUP_DIR:该参数为备份数据文件的存放位置,可根据实际情况进行设置(注:设置的文件路径不允许包含汉字、特殊字符等内容)。

ORACLE_USERNAME:该参数为指定备份的Oracle数据库用户名。

ORACLE_PASSWORD:该参数为指定备份的Oracle数据库密码。

ORACLE_DB:该参数为指定备份的Oracle数据库连接名。

BACK_OPTION:该参数为备份选项,可以为空,也可以为full=y等。

RAR_CMD:指定RAR命令行压缩工具所在目录

END

安装软件

1

下载WINRAR安装包。

2

点击"wrar520sc_setupexe",进行安装软件。

3

根据软件的安装路径,在命名的bat处理文件中配置:RAR_CMD参数。

END

添加定时任务

打开电脑的控制面板,选择"任务计划",双击打开。页面如图所示:

双击打开添加定时任务,点击下一步进入相关设置页面。页面如图所示:

单击浏览按钮,找到oracleBackupbat文件添加,然后进行配置:根据实际情况选择要备份的时间类型,此处以每天执行为例,选择每天,点击下一步,设置执行时间。

输入执行定时任务机器的用户名及密码,点击下一步,进入完成界面,点击完成,至此,Oracle数据库定时任务备份的设置。

5

利用修改机器时间进行定时任务的测试。

楼主:供参考

利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。

建议一(做周备份并压缩为RAR)以下为ORACLE 自动备份批处理文件内容,请配合任务计划实现 :

例:

@ECHO OFF

SET BACKPATH=d:\

ECHO 准备备份数据库

REM 7天一个循环

IF EXIST %BACKPATH%\ONE GOTO ONE

IF EXIST %BACKPATH%\TWO GOTO TWO

IF EXIST %BACKPATH%\THREE GOTO THREE

IF EXIST %BACKPATH%\FOUR GOTO FOUR

IF EXIST %BACKPATH%\FIVE GOTO FIVE

IF EXIST %BACKPATH%\SIX GOTO SIX

IF EXIST %BACKPATH%\SEVEN GOTO SEVEN

ECHO E > %BACKPATH%\ONE

:ONE

SET BACKPATH_FULL=%BACKPATH%\ONE

REN %BACKPATH%\ONE TWO

GOTO BACK

:TWO

SET BACKPATH_FULL=%BACKPATH%\TWO

REN %BACKPATH%\TWO THREE

GOTO BACK

:THREE

SET BACKPATH_FULL=%BACKPATH%\THREE

REN %BACKPATH%\THREE FOUR

GOTO BACK

:FOUR

SET BACKPATH_FULL=%BACKPATH%\FOUR

REN %BACKPATH%\FOUR FIVE

GOTO BACK

:FIVE

SET BACKPATH_FULL=%BACKPATH%\FIVE

REN %BACKPATH%\FIVE SIX

GOTO BACK

:SIX

SET BACKPATH_FULL=%BACKPATH%\SIX

REN %BACKPATH%\SIX SEVEN

GOTO BACK

:SEVEN

SET BACKPATH_FULL=%BACKPATH%\SEVEN

REN %BACKPATH%\SEVEN ONE

GOTO BACK

:BACK

EXP ccense/ccense FILE=%BACKPATH_FULL%DMP

RAR a %BACKPATH_FULL%rar %BACKPATH_FULL%DMP

DEL %BACKPATH_FULL%DMP

SET BACKPATH=

SET BACKPATH_FULL=

EXIT

说明:

文件名以星期来命名

备份后调用rar进行压缩

这样可以保存一个星期的历史数据

注意:需要把program files/winrar目录下的rarexe拷贝到系统system32目录下

建议二:

1,批处理文件backupbat\

exp system/manager file=d:\backup\oracle\oracle%date:~0,10%dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%log

将生成oracle2006-01-09dmp文件

exp system/manager file=d:\backup\oracle\oracle%date:~11,3%dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%log

将生成oracle星期一dmp文件,则每周循环保留一个备份文件,共7个备份文件循环 $date$日期参数可灵活运用。

需要写个bat脚本,然后在windows计划任务里调用此脚本可实现每天自动备份。工具:Oracle10g步骤:1、在某个盘符某个路径(以C盘data目录为例),创建oraclebackuptxt文件,内容如下:@echooffecho删除10天前的备分文件和日志forfiles/p"c:/data/"/mdmp/d-10/c"cmd/cdel@path"forfiles/p"c:/data/"/mlog/d-10/c"cmd/cdel@path"echo正在备份Oracle数据库,请稍等……exp用户名/密码@实例名file=c:/data/mdb%date:~0,4%%date:~5,2%%date:~8,2%dmplog=c:/data//mdb%date:~0,4%%date:~5,2%%date:~8,2%logfull=ybuffer=65535echo任务完成!2、保存上述文件后,将文件名的后缀改成bat3、进入windows的控制面板,打开计划与任务,新建任务,点击浏览,选择刚才新建的c盘data目录下的oraclebackupbat文件。接着选择每天晚上22:00点执行,再输入本机的administrator密码即可。注意事项:exp语句中的用户名密码等内容,需要根据实际需要来填写。

数据库的自动备份,可以减轻维护者的工作量也便于系统恢复,对于比较重要的数据库,最好还是设置下自动备份。

工具/原料

navicat for mysql

mysql 55

方法/步骤

打开navicat客户端,连上mysql后,双击左边你想要备份的数据库。点击“计划”,再点击“新建批处理作业”。

双击上面的可用任务,它就会到下面的列表里去,代表你选择了这个任务。

点击保存,d出个命名对话框,给这个任务取个名字,点击“确定”

点击“设置”计划任务。

d出的对话框,选择“计划”,再点击“新建”。

这里设置为从2014年1月24号起每天早上九点备份该数据库。如果想提高备份频率、或者设置备份截止日期,请点击“高级”。

高级选项可以把备份设置的更精细,比如这里设置的是在24小时内每隔2小时就备份一次。加上前面的基本设置,任务计划就是:从2014年1月24号开始,每天九点,每隔2小时备份一次,每天的备份都持续24小时。

最后,输入电脑密码就大功告成。

以上就是关于windows自动备份mysql数据库脚本全部的内容,包括:windows自动备份mysql数据库脚本、SQL Server 2008怎么自动备份数据库、MSsql每天自动备份数据库并每天自动清除log的脚本等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10177010.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存