实现连续N次备份数据库的脚本
我们知道根据生产数据库的业务数据情况来安排备份的频率,比如:每月、每周、每日,有的甚至每小时备份一次。要备份sybase数据库,需要自己手动写命令。这样,下一次可能会覆盖上一次的备份文件。通过脚本在下一次备份时产生不同的备份文件名称就不会覆盖上一个备份文件了。这样,能够自动保留数据库的多个数据库备份文件,更有力的保障了数据库的安全。
将下面的脚本复制到记事本中,另存为bat格式。添加到windows的计划任务中,
============================================================================================
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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" |
————————————————————————————————————
——— 本文为andkylee个人原创,请在尊重作者劳动成果的前提下进行转载;
——— 转载务必注明原始出处 : http://www.dbainfo.net
——— 关键字: ASE 数据库 备份 自动 连续备份 删除旧备份
————————————————————————————————————