xhy0002 2008-4-21 11:42
VSS的自动备份
VSS的自动备份
以前在论坛上看到过VSS的自动备份方法,备份的功能有点问题,现将论坛中的方法稍作了一点修改,备份文件可以根据日期来命名,请大家试用一下!如下:
1。编写一个dat文件,内容如下(可根据情况修改路径):
@echo off
@title Backing up SourceSafe databases
rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"
rem VSS_DB :需要备份的VSS DB的路径
set VSS_DB="D:\VSS1"
rem VSS_Admin_Password :VSS DB管理员的密码
set VSS_Admin_Name="admin"
rem VSS_Install_Path :VSS的安装路径
set VSS_Admin_Password="123"
FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i-%%j-%%k
rem Bak_File :备份文件的输出地址
set Bak_File="D:\backup_%DATE%.ssa"
rem 执行备份
%VSS_Install_Path%"ssarc.exe" -d- -o -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/
@echo Finished backups
2.在开始->附件->系统工具->任务计划中,添加一个计划任务,设定计划任务每天自动备份的时间。
CMStruggling 2008-4-21 19:28
嗯,脚本不错。
基本上VSS的自动备份脚本差不多如此编写,学习了。
还有一个问题就是,
如果我想远程备份,
就是备份到局域网内的其它的机器上的共享文件夹内,
不知道此脚本是否可行?
如果能远程备份就好多了,
安全备份为了确保安全性一般都是备份到另外的专门用做备份的备份服务器上的吧。
crazyrabbit 2008-4-21 19:53
使用了楼主提供的方法,非常方便,有点要求,能不能精确到时间啊?
原因有二:
1.如果在同一天执行两次备份,数据库不更新,只更新txt文档;
2.如果有重要文档添加后,想即时备份,但是用这个方法实现不了,原因如第1条。
CMStruggling 2008-4-21 20:08
[quote]原帖由 [i]crazyrabbit[/i] 于 2008-4-21 19:53 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=86759&ptid=12025][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
使用了楼主提供的方法,非常方便,有点要求,能不能精确到时间啊?
原因有二:
1.如果在同一天执行两次备份,数据库不更新,只更新txt文档;
2.如果有重要文档添加后,想即时备份,但是用这个方法实现不了,原因如 ... [/quote]
能精确到时间最好了。
用这个脚本自动进行备份,当同一天第二次进行备份的时候,
它会提示是否Overwrite?(Y/N).
xhy0002 2008-4-22 16:53
[quote]原帖由 [i]crazyrabbit[/i] 于 2008-4-21 19:53 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=86759&ptid=12025][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
使用了楼主提供的方法,非常方便,有点要求,能不能精确到时间啊?
原因有二:
1.如果在同一天执行两次备份,数据库不更新,只更新txt文档;
2.如果有重要文档添加后,想即时备份,但是用这个方法实现不了,原因如 ... [/quote]
鉴于[i]crazyrabbit[/i] 的提议,现在我把备份脚本稍微修改了一下,将备份后的文件名称精确到了时分,即现在执行备份脚本后的文件名称可以精确到年月日时分(秒由于取不到,所以只精确到了分),对于备份来说精确到分应该足够了吧。
修改后的脚本为(红色部分为修改过的):
@echo off
@title Backing up SourceSafe databases
rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"
rem VSS_DB :需要备份的VSS DB的路径
set VSS_DB="D:\VSS1"
rem VSS_Admin_Password :VSS DB管理员的密码
set VSS_Admin_Name="admin"
rem VSS_Install_Path :VSS DB管理员的密码
set VSS_Admin_Password="123"
[color=red]FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i%%j%%k
FOR /F "tokens=1-2 delims=: " %%i IN ('time /t') DO SET TIME=%%i%%j[/color]
rem Bak_File :备份文件的输出地址
[color=red]set Bak_File="D:\backup_%DATE%%TIME%.ssa"[/color]
rem 执行备份
%VSS_Install_Path%"ssarc.exe" -d- -o -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/
@echo Finished backups
xhy0002 2008-4-22 17:10
[quote]原帖由 [i]CMStruggling[/i] 于 2008-4-21 19:28 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=86756&ptid=12025][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
嗯,脚本不错。
基本上VSS的自动备份脚本差不多如此编写,学习了。
还有一个问题就是,
如果我想远程备份,
就是备份到局域网内的其它的机器上的共享文件夹内,
不知道此脚本是否可行?
如果能远程备份就好多了 ... [/quote]
远程备份也能实现的,你只要把备份文件的存放地址中加上远程服务器的IP就可以实现,如:
[color=red]rem Bak_File :备份文件的输出地址
set Bak_File=[/color][url=file://\\172.**.**.**\share\backup_%DATE%%TIME%.ssa][color=red]\\172.**.**.**\share\backup_%DATE%%TIME%.ssa[/color][/url]
[color=#ff0000][/color]
[color=black]不过因为是网络上的地方,所以每次执行时会提示是否要备份,这点不太好,不过也应该能解决的,后面研究好了再告诉你。[/color]
CMStruggling 2008-4-22 17:33
回复 6# 的帖子
楼主真是个细心人啊,
嘿嘿!
嗯,
需求越多,
同时也是帮助不断完善脚本的过程,
大家都得益,何乐而不为。
::em60::
crazyrabbit 2008-4-23 14:57
谢谢楼主,这就是一个流程啊。
需求(跟贴)--》需求分析(楼主)--》软件开发--》内部测试—》外部测试—》产品发布
::em42:: ::em71:: ::em34::
crazyrabbit 2008-4-23 15:27
@echo off
@title Backing up SourceSafe databases
rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"
rem VSS_DB :需要备份的VSS DB的路径
set VSS_DB="D:\VSS1"
rem VSS_Admin_Password :VSS DB管理员的密码
[color=blue](此处是否应为:rem VSS_Admin_Name :VSS DB管理员的登录名?)[/color]
set VSS_Admin_Name="admin"
rem VSS_Install_Path :VSS DB管理员的密码
[color=blue](此处是否应为:rem VSS_Admin_Password :VSS DB管理员的密码?)[/color]
set VSS_Admin_Password="123"
FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i%%j%%k
FOR /F "tokens=1-2 delims=: " %%i IN ('time /t') DO SET TIME=%%i%%j
rem Bak_File :备份文件的输出地址
set Bak_File="D:\backup_%DATE%%TIME%.ssa"
rem 执行备份
%VSS_Install_Path%"ssarc.exe" -d- -o -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/
@echo Finished backups
[size=5][font=微软雅黑][color=red]楼主,括号内是的内容是应该修正?
[/color][/font][/size][size=5][font=微软雅黑][color=red][/color][/font][/size]
[size=5][font=微软雅黑][color=red]另外,我在运行程序时发现一个问题,如图所示,出现了提示,需要用户确认是退出还是继续,不知道是哪里出了问题。
[/color][color=red][/color][/font][/size]
[size=5][font=微软雅黑][color=red]而且原来用计划任务执行的时候会生成一个txt说明文件,改完后txt文件也不见了。[/color][/font][/size]
[[i] 本帖最后由 crazyrabbit 于 2008-4-23 16:08 编辑 [/i]]
xhy0002 2008-4-29 17:03
[quote]原帖由 [i]crazyrabbit[/i] 于 2008-4-23 15:27 发表 [url=http://www.scmlife.com/bbs/redirect.php?goto=findpost&pid=87176&ptid=12025][img]http://www.scmlife.com/bbs/images/common/back.gif[/img][/url]
@echo off
@title Backing up SourceSafe databases
rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"
rem VSS_DB :需要备份的VSS DB的路径 ... [/quote]
[color=red]非常谢谢crazyrabbit的修正(因为修正的地方是注释,所以不影响文件的执行结果)[/color]
[color=#ff0000]我这边的执行后的文件为如下图所示:不知道crazyrabbit是如何操作的,能否详细说明一下?[/color]
crazyrabbit 2008-5-5 10:39
楼主你好。
感谢你的回复,我只把你给的代码,在数据库的路径、管理员、管理员密码和备份文件的地址做了更改,其他地方都没有改动。
然后运行时就出现了如图的提示。
真不知道为什么。
这期间,由于不断的删除文件,又更改了项目的名称,是不是都有影响啊?
这是我的代码:
@Echo off
@title Backing up SourceSafe databases
rem VSS_Install_Path :VSS的安装路径
set VSS_Install_Path="C:\Program Files\Microsoft Visual SourceSafe\"
rem VSS_DB :需要备份的VSS DB的路径
set VSS_DB="E:\VSS_CMMI"
rem VSS_Admin_Name:VSS DB管理员的用户名
set VSS_Admin_Name="admin"
rem VSS_Admin_Password:VSS DB管理员的密码
set VSS_Admin_Password="dfcmmi"
FOR /F "tokens=1-3 delims=- " %%i IN ('date /t') DO SET DATE=%%i-%%j-%%k
FOR /F "tokens=1-2 delims=: " %%i IN ('time /t') DO SET TIME=%%i%%j
rem Bak_File :备份文件的输出地址
set Bak_File="E:\VSS backup\VSS_Database_backup_%DATE%_%TIME%.ssa"
rem 执行备份
%VSS_Install_Path%"ssarc.exe" -d- -o -y%VSS_Admin_Name%,%VSS_Admin_Password% -s%VSS_DB% %Bak_File% $/
@Echo Finished Backups
不知道哪里出了问题,请楼主帮忙看看。
郁闷啊。
[[i] 本帖最后由 crazyrabbit 于 2008-5-5 10:52 编辑 [/i]]
crazyrabbit 2008-5-10 11:39
[quote]原帖由 [i]xhy0002[/i] 于 2008-4-29 17:03 发表 [url=http://bbs.scmlife.com/redirect.php?goto=findpost&pid=88266&ptid=12025][img]http://bbs.scmlife.com/images/common/back.gif[/img][/url]
非常谢谢crazyrabbit的修正(因为修正的地方是注释,所以不影响文件的执行结果)
我这边的执行后的文件为如下图所示:不知道crazyrabbit是如何操作的,能否详细说明一下? [/quote]
就是出现我所发的图片vss bak1.jpg所显示的样子,总是出现提示是否继续,代码我没有做任何的修改,只是改动了路径、用户名、密码这些,搞不懂了。
请多指教。
gs-hh 2008-5-14 11:04
学习了,谢谢指导啊。
violet 2008-5-14 11:07
我按照楼主的代码编写了一个dat文件,然后添加计划任务运行.但是制定的时间到了后却不能启动计划任务.请问怎么回事?
1.dat文件是不是建立一个文本文件,然后写好代码后,将后缀名改为dat即可?
2.制定计划任务时有个设置密码,我的用户名是登陆系统的用户名,密码是自己设的.这个不设不行.但是怎么运行不了计划任务?是不是要在代码中还要把这个用户名和密码也要写入dat中?
如果上面的没有问题,怎么会启动不了呢?
secboy 2008-5-14 18:35
搜藏了,这个应该是2005的吧,估计都通用。。
winzheng 2008-5-29 13:44
呵呵,高手如云呀,学习了。。。命令行更易于自动构建
pole415 2008-6-16 09:41
执行备份的时候提示如下:continue anyway?(Y/N)
请问能否自动执行,不要此操作?
zjx1302 2008-6-27 09:54
对于初学者来说真是好用的文章,这几天都在找VSS相关的资料,不错
cloud723 2008-7-14 16:27
不错,我们也有一个bat文件专门来做备份的,不过没有楼主的先进.学习了。
bleast 2008-7-15 18:19
真是高手啊,一直在找这方面的资料,多谢啦!
页:
[1]