sybase 自动备份

Imports System.IO
Module Module1

    Sub Main()

        Dim str_Path As String
        Dim str_FileName As String
        Dim str_Name As String
        Dim i As Integer, weeknum As Integer
        Dim f_file As System.IO.File
        Dim F_write As System.IO.StreamWriter
        Dim str_temp As String
        str_FileName = gbackupdump_data.txt
        If File.Exists(str_FileName) = True Then
            File.Delete(str_FileName)
        End If
        F_write = File.CreateText(str_FileName)
        F_write.WriteLine(use master)
        F_write.WriteLine(go)
        weeknum = Weekday(Now())
        '每隔一天转储的文件名相同
        Select Case weeknum
            Case 1, 2, 4, 6
                F_write.WriteLine(select getdate())
                F_write.WriteLine(go)
                F_write.WriteLine(dump database  bsjdw to 'g:\backup\dumpback\bsjdw_data0.dump')
                F_write.WriteLine(go)
                F_write.WriteLine(select getdate())
                F_write.WriteLine(go)
                F_write.WriteLine(dump database  system to 'g:\backup\dumpbacksystem_data0.dump')
                F_write.WriteLine(go)
                F_write.WriteLine(select getdate())
                F_write.WriteLine(go)
            Case 3, 5, 7
                F_write.WriteLine(select getdate())
                F_write.WriteLine(go)
                F_write.WriteLine(dump database  bsjdw to 'g:\backupdumpbackbsjdw_data1.dump')
                F_write.WriteLine(go)
                F_write.WriteLine(select getdate())
                F_write.WriteLine(go)
                F_write.WriteLine(dump database  system to 'gbackupdumpbacksystem_data1.dump')
                F_write.WriteLine(go)
                F_write.WriteLine(select getdate())
                F_write.WriteLine(go)

        End Select

        F_write.WriteLine(exit)
        F_write.Close()


        Dim ti As Date
        Dim te As Date
        ti = Now
        Dim logfilename As String
        logfilename = datafile + Trim(Str(Year(Now()))) + Trim(Str(Month(Now()))) + Trim(Str(Day(Now()))) + .txt
        Shell(cmd k isql -Usa -PSjb81! -i + str_FileName +    gbackupdumpbackdumplog + logfilename, AppWinStyle.NormalFocus)

        te = Now
        Try
            Dim myProcesses() As Process
            Dim instance As Process
            Do
                myProcesses = Process.GetProcessesByName(cmd)
                Dim j As Integer
                j = 0
                For Each instance In myProcesses
                    If instance.StartTime = ti And instance.StartTime = te Then
                        j = 1
                    End If
                Next
                If j = 0 Then
                    Exit Do
                End If
            Loop
            myProcesses.Clear(myProcesses, 0, myProcesses.Length)
        Catch
        End Try

        Exit Sub
    End Sub

End Module

posted on 2006-07-04 18:16  Sanle  阅读(399)  评论(0编辑  收藏  举报

导航