Vbs备份数据脚本集合

近期公司的一些重要服务器需要对数据进行备份,所以就想到用vbs进行备份,一开始用powershell进行备份,后来还是选用了vbs,主要操作为将服务器的重要备份数据进行备份(剪贴)到指定的服务器目录上,然后对备份的目录文件进行文件名+日期进行备份,由于数据比较重要,然后又将备份后的数据进行了二次复制到云服务器上,最主要的是将本地的备份数据通过获取文件夹修改时间将最新的备份数据进行复制,所以就有两个脚本来完成,然后通过windows系统的计划任务进行自定义执行。具体脚本内容见下:

一、将指定路劲的数据进行剪贴到指定路劲

sourcefilespath="R:\DBBackup"
desfilepath="\\192.168.4.100\Data_Backup\DataBackup"&""&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 为复制文件
‘fso.copyfile sourcefilepath,desfilepath
‘fso.movefile 移动文件
MoveFiles sourcefilespath,desfilepath
End If
Function MoveFiles(yPath,sPath)
On Error Resume Next
Dim folder,Files,File,subFolder,subFolders
Set fso = createobject("scripting.FileSystemObject")
Set Folder = fso.getFolder(yPath)
Set Files = Folder.Files
‘msgbox yPath & sPaht
For Each File In Files
fso.MoveFile File,sPath&"\"
‘msgbox File
Next
Set subFolder = Folder.SubFolders
For Each subFolders In subFolder
folderTemp = Split(subFolders,"\")
FolderName=FolderTemp(ubound(folderTemp))
fso.createFolder(sPath&"\"&FolderName)
MoveFiles subFolders,sPath&"\"&FolderName&"\"
fso.DeleteFolder subFolders
Next
End Function

二、将备份后的数据拷贝到其他主机进行二次备份,区别在于备份到云服务器上的数据需要对第一次备份的数据进行判断,将最新的数据进行备份即可,所以通过文件夹的修改时间进行获取然后通过本地时间进行判断最近时间才进行脚本中的复制操作。

sourcefilespath="D:\Data_Backup"
desfilepath="\\10.12.0.51\Backup\DataBackup"&""&Year(date)&-Month(date)&-Day(date)&" "&Hour(time)&-Minute(time)&"\"
Set dic=CreateObject("Scripting.Dictionary")
Set fso=CreateObject("Scripting.FileSystemObject")
If Not fso.FolderExists(desfilepath) Then
fso.CreateFolder desfilepath
‘fso.copyfile 为复制文件
‘fso.copyfile sourcefilepath,desfilepath
‘fso.movefile 移动文件
backFolderPath=GetLastModify(sourcefilespath)
CopyFiles backFolderPath,desfilepath
End If
‘‘移动文件
Function MoveFiles(yPath,sPath)
On Error Resume Next
Dim folder,Files,File,subFolder,subFolders
Set fso = createobject("scripting.FileSystemObject")
Set Folder = fso.getFolder(yPath)
Set Files = Folder.Files
‘msgbox yPath & sPaht
For Each File In Files
fso.MoveFile File,sPath&"\"
‘msgbox File
Next
Set subFolder = Folder.SubFolders
For Each subFolders In subFolder
folderTemp = Split(subFolders,"\")
FolderName=FolderTemp(ubound(folderTemp))
fso.createFolder(sPath&"\"&FolderName)
MoveFiles subFolders,sPath&"\"&FolderName&"\"
fso.DeleteFolder subFolders
Next
End Function
‘‘获得最后修改时间的文件夹
Function GetLastModify(folder)
Set fso = createobject("scripting.FileSystemObject")       
Set Folder=fso.getFolder(folder)
Set subFolders = Folder.SubFolders
nowdate= Now
For Each subFolder In subFolders
dic.Add datediff("s",subFolder.DateLastModified,nowdate),subFolder.path
Next        
NumArray=dic.Keys       
fSortArray NumArray
GetLastModify=dic.Item(NumArray(UBound(NumArray)))
End Function
Function fSortArray(aSortThisArray)
Dim oArrayList, iElement
Set oArrayList = CreateObject( "System.Collections.ArrayList" )
For iElement = 0 To UBound(aSortThisArray)
oArrayList.Add aSortThisArray(iElement)
Next
oArrayList.Sort
set fSortArray = oArrayList
End Function
‘‘拷贝文件
Function CopyFiles(yPath,sPath)
On Error Resume Next
Dim folder,Files,File,subFolder,subFolders
Set fso = createobject("scripting.FileSystemObject")
Set Folder = fso.getFolder(yPath)
Set Files = Folder.Files
‘msgbox yPath & sPaht
For Each File In Files
fso.copyFile File,sPath&"\"
‘msgbox File
Next
Set subFolder = Folder.SubFolders
For Each subFolders In subFolder
folderTemp = Split(subFolders,"\")
FolderName=FolderTemp(ubound(folderTemp))
fso.createFolder(sPath&"\"&FolderName)
CopyFiles subFolders,sPath&"\"&FolderName&"\"
‘fso.DeleteFolder subFolders
Next
End Function
时间: 2024-10-25 06:38:28

Vbs备份数据脚本集合的相关文章

expect与rsync 异步并行备份数据脚本

expect与rsync 异步并行备份数据脚本 #!/bin/bash #author:qunying.liu #2014.08.02 #脚本用途:通过rsync从远程机器备份数据到本机机器对应目录 #脚本目录:/usr/local/scripts/,expect脚本目录:/usr/local/scripts/dsfilersync, #备注:一个机器对应一个exp脚本,该脚本中包含该机器所有rsync同步目录. #初始化目录 cd   /usr/local/scripts/ grep "rsy

Mysql定时备份数据脚本

项目3.0的集群以搭建完成,只剩下细节相关的配置,和后期安全和优化的处理,考虑到数据库数据需要备份处理, 但每天手动进行备份处理太过于被动,而且白天用户访问,会有数据变化以及在备份时会影响服务器正常运行的性能, 所以考虑写一个脚本,并制定一个定时任务进行执行脚本备份数据: #!/bin/bash###数据库定时备份,并将备份的库进行打包压缩user=rootpasswd=123456back_path=/vdb1/mysql/backupdata_name=zmq123date=`date +%

mysql检查备份数据脚本并在zabbix上告警

知识点:1.zabbix自定义设置触发报警 2.zabbix_sender用法 3.zabbix采集器的用法 介绍zabbix_sender用法:zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,那怎么办呢?这时候就需要使用zabbix监控类型zabbix trapper,配合zabbix_sender给它传递数据.所以说zabbix_sender是更新items值最快的方式 zabbix采集器是zabbix监控上的一种模式,是其对服务器数据采集

Vbs 清理备份数据-保留数据量

我们前面文章介绍了,通过vbs脚本对文件进行压缩备份,但是通过计划任务备份的话,备份的数据会越来越多,对于我们的磁盘空间利用来说比较浪费,所以我们又通过以下 脚本进行判断,将多余的备份数据清理, 我们需要将D盘下的backup目录下的备份数据只保留3份,其他的删除. 备份数据脚本见上一篇文章. Set dic = CreateObject("scripting.dictionary") set fso=CreateObject("Scripting.FileSystemObj

Vbs脚本实现数据CUT备份及自动轮询删除备份数据

我们上一篇文章中介绍了使用vbs脚本不同版本的office激活任务,其实说到vbs脚本相信大家都很了解了,有什么作用呢,其实说白了就是执行批处理任务的工具.Vbs在windows上应用相对比较多,其功能上我们就不多说了,今天呢还是介绍vbs脚本程序备份数据的计划任务.怎么想起来备份数据呢,近期呢,领导突然想到对公司的SAP备份数据进行异地备份,这样能提高数据的可恢复性:公司的SAP的系统是每天晚上2点执行一次备份,然后新的一天数据会覆盖旧的数据,如果当数据出现错误,我们也无法使用该之前的备份进行

完全备份数据和差异备份数据的shell脚本

#!/bin/bash  # # Description: 该脚本功能,以周为单位循环:周五实行完全备份,周六不备份,周日至周四实行差异备份: #              因工作需要,不实行压缩打包的方式,采用cp完全备份,rsync差异备份: #              若要使用该脚本,请直接修改下面的两个参数:BackupPath和DATAPath,其他地方请不要修改: #  DATE: 2017-04-24 22:43:00 # MODIFY DATE: 2017-04-28 10:0

备份数据表为insert 脚本

unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Data.DB, Datasnap.DBClient; type TForm1 = class(TForm) cds: TClientDataSet

小企业sql server数据备份shell脚本解决方案

公司有三台sql server数据库,每天通过sql server计划任务备份数据到本地,再通过本地上传到数据服务器上做保存,如此反复,有时因为工作忙,忘了上传,导致数据被替换而没有备份的现象. 经过对Linux学习,发现这一切都只是小问题,不需要这么麻烦,如是说干就干. 通过查资料,sql server是可以通过远程方式备份的,如果配置好sql server的远程备份功能,将数据每天备份到指定的数据存储服务器上 将数据备份服务器从windows 7改装成centos 6.5 现在问题是sql

VBS自编写脚本。(实现批量修改文件名且在执行前,备份原有文件夹中的文件)

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/7/9'' COMMENT: '批量修改文件夹下对应的所有文件名''==========