Vbs备份指定文件到指定目录并且以日期重命名的实现代码
说到备份,相信大家都会想到的第一个方法就是通过windows系统自带的window backup功能进行数据备份。后来微软又出了system centere产品后,就出现了一个新的备份产品---system centere data backup manager(DPM)。这些功能备份比较大的数据还可以,但是对于小文件的备份有点浪费了,因为有的时候由于工作需要备份几个重要的文件(配置文件),不需要全备,所以说呢,很多备份软件有点浪费,对于小文件的备份来说不是非常方便。以上仅仅是个人的想法。我算是一个比较爱挑剔的人,能用简单的方法实现的工作绝对不会搞太复杂。
公司使用的是ibm lotus产品做为邮件系统。我们大家都知道,lotus邮件产品数据库都是独立的文件数据库,都是以.nsf结尾的。还有就是一个.ntf的数据库模板。服务定时通过对应的.ntf模板文件对.nsf数据库进行设计刷新。在此先不说这么多了。我们主要还是说一下遇到的问题吧~上周同事发现之前删除的一些domino服务器配置怎么又恢复了。当然我没有无聊的去做一些还原。然后就通过近期的数据备份进行对比,然后再次删除,领导了跟我说,让我定期备份lotus的配置数据库。所以就想通过vbs程序来备份。我们都知道,domino服务器配置数据库为names.nsf。只要对names.nsf数据库进行备份的话,domino服务器的配置是不会丢的。出了问题覆盖恢复就行,还有就是一个,备份一次一定保留之前的备份的历史记录,通过本地的备份日期及时间来重命名,对此问题的解决方法见下:
代码:
sourcefilepath="c:\names\names.nsf" desfilepath="d:\name_backup\Name"&""&Year(date)&-Month(date)&-Day(date)&" "&Hour(time)&-Minute(time)&"\" Set fso=CreateObject("Scripting.FileSystemObject") If Not fso.FolderExists(desfilepath) Then fso.CreateFolder desfilepath fso.copyfile sourcefilepath,desfilepath End If
模拟将c盘下的names文件夹下的names.nsf拷贝到目的目录
将c盘下的names.nsf文件拷贝到d盘下的目的路径
执行一次在该文件夹下新建一个文件夹,然后将拷贝的文件存入该文件。然后以日期命名
文件存入
每天执行一次,执行一次就在该文件夹下新建一个文件夹,然后以日期命名
然后通过系统自带的计划任务进行程序运行: taskschd.msc
打开计划任务后,我们创建任务
定义计划任务命名:及运行方式:不管用户是否登陆都要运行
程序运行计划,每天23.54执行一次。勾选---已启用选项
计划任务已创建完成
创建任务操作。---启动程序---然后我们选择定义好的脚本文件
定义计划操作完成
我们右击开始运行一次。进行测试。
执行效果,第二天的指定时间再次运行:
好了这篇文章就介绍到这