实现连续N次备份数据库的脚本

----------------------------------------------------------------------------

---- 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;

---- 转载务必注明原始出 : http://blog.youkuaiyun.com/andkylee

---- 关键字: ASE 数据库 备份 自动 连续备份  删除旧备份

----------------------------------------------------------------------------

 

 我们知道根据生产数据库的业务数据情况来安排备份的频率,比如:每月、每周、每日,有的甚至每小时备份一次。要备份sybase数据库,需要自己手动写命令。这样,下一次可能会覆盖上一次的备份文件。通过脚本在下一次备份时产生不同的备份文件名称就不会覆盖上一个备份文件了。这样,能够自动保留数据库的多个数据库备份文件,更有力的保障了数据库的安全。

将下面的脚本复制到记事本中,另存为bat格式。添加到windows的计划任务中,
============================================================================================

echo off
cls
:: 默认保留近7日来的数据库备份,可以把7改成自己想连续的天数
:: 其中d:/sybase/data为数据库备份地址,可以自己再次指定
:: master为默认备份的数据库名称,可以修改成其它用户数据库名称
set databak_path=d:/sybase/data
set databasename=master
echo dt=date()-7>%temp%/OldDate.vbs
echo s=right(year(dt),4) ^& "-" ^& right("0" ^& month(dt),2) ^& "-" ^& right("0" ^& day(dt),2)>>%temp%/OldDate.vbs
echo wscript.echo s>>%temp%/OldDate.vbs
for /f %%f in ('cscript /nologo %temp%/OldDate.vbs') do @set DelFlag=%%f
::删除七日前的数据库备份文件
if exist "%databak_path%/%databasename%_%DelFlag%.dump" del "%databak_path%/%databasename%_%DelFlag%.dump"
del %temp%/OldDate.vbs
if exist %temp%/dump_db.txt (del %temp%/dump_db.txt)
echo dump database %databasename% to "%databak_path%/%databasename%_%date:~0,10%.dump" >>%temp%/dump_db.txt
echo go >>%temp%/dump_db.txt
isql -Usa -P -Syour_servername <"%temp%/dump_db.txt" >>%databak_path%/dump_log.txt
del "%temp%/dump_db.txt"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值