有没有办法让accesss自动备份

发布网友

我来回答

1个回答

热心网友

用VB编写自动备份文件程序
--------------------------------------

Public Sub BackupFile(Filename As String, Drive As String, Folder As String)
Dim Fso As New FileSystemObject '创建 FSO 对象实例
Dim Dest_path As String, Counter As Long
Dim StrDay As String, StrMonth As String, NewFilename As String

Counter = 0
Do While Counter < 6 '如果驱动器没准备好,继续检测。共检测 6 秒
Counter = Counter + 1
Call Waitfor(1) '间隔 1 秒
If Fso.Drives(Drive).IsReady = True Then
Exit Do
End If
Loop
If Fso.Drives(Drive).IsReady = False Then '6 秒后目标盘仍未准备就绪,退出
MsgBox " 目标驱动器 " & Drive & " 没有准备好! ", vbCritical
Exit Sub
End If
If Fso.GetDrive(Drive).FreeSpace < Fso.GetFile(Filename).Size Then
MsgBox "目标驱动器空间太小!", vbCritical '目标驱动器空间不够,退出
Exit Sub
End If
If Right(Drive, 1) <> ":" Then
Drive = Drive & ":"
End If
If Left(Folder, 1) <> "\" Then
Folder = "\" & Folder
End If
If Right(Folder, 1) <> "\" Then
Folder = Folder & "\"
End If
If Day(Date) < 10 Then
StrDay = "0" & Day(Date)
Else
StrDay = Day(Date)
End If
If Month(Date) < 10 Then
StrMonth = "0" & Month(Date)
Else
StrMonth = Month(Date)
End If
'Fso.FileExists ()
NewFilename = "newfilename"
Dest_path = Drive & Folder
If Not Fso.FolderExists(Dest_path) Then '如果目标文件夹不存在,创建之
Fso.CreateFolder Dest_path
End If
Fso.CopyFile Filename, Dest_path & NewFilename, True
'拷贝,直接覆盖同名文件
Set Fso = Nothing
End Sub
Private Sub Waitfor(Delay As Single) '延时过程,Delay 单位约为 1 秒
Dim StartTime As Single
StartTime = Timer
Do Until (Timer - StartTime) > Delay
Loop
End Sub

Private Sub Form_Load()
BackupFile "filename", "d:", "filebackupdir"
End
End Sub

再给一个答案:

一个思路:定时启动2000计划任务功能.用一个批处理做命令行的备份然后用FTP方式传到其它机器就OK.
备份程序的执行策略是:
1.测试备份服务器是否已启动,若未启动则启动之。
2.先通过命令语句执行将数据库mp到备份程序的目录下的db.dmp。
3.如果mp成功,则在本机上删除上一次的备份文件db.dmp.1,然后将本次mp文件重命名为db.dmp.1。
4.如果mp成功,再用FTP将本次文件上传到另一台机器上。在那台FTP服务器上有一个目录mpfiles,用来保存上传的mp文件,并且在那个目录下保存最近两次的mp文件,其名字分别是db.dmp.1和db.dmp.2。FTP所执行的脚本是send.txt。
用以下命令可以FTP至其它机器,
ftp -s:send.txt > ls.txt
/send.txt 内容:
open 134.135.136.137
anonymous
abc
cd /mpfiles
!echo %time% DELETE db.dmp.2 >>mpdb.log
delete db.dmp.2
!echo %time% RENAME db.dmp.1 TO db.dmp.2 >>mpdb_0.log
rename db.dmp.1 db.dmp.2
!echo %time% SEND db.dmp.1 >>mpdb_0.log
bina
send db.dmp.1
!echo %time% SEND DONE. >>mpdb_0.log
bye

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com