Mega Code Archive

 
Categories / VB.Net Tutorial / Windows
 

Backup service

Imports System.Diagnostics Imports System.ServiceProcess Imports System.IO Public Class Service1     Inherits System.ServiceProcess.ServiceBase #Region " Component Designer generated code "     Public Sub New()         MyBase.New()         ' This call is required by the Component Designer.         InitializeComponent()         ' Add any initialization after the InitializeComponent() call     End Sub     'UserService overrides dispose to clean up the component list.     Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)         If disposing Then             If Not (components Is Nothing) Then                 components.Dispose()             End If         End If         MyBase.Dispose(disposing)     End Sub     ' The main entry point for the process     <MTAThread()> _     Shared Sub Main()         Dim ServicesToRun() As System.ServiceProcess.ServiceBase         ' More than one NT Service may run within the same process. To add         ' another service to this process, change the following line to         ' create a second service object. For example,         '         '   ServicesToRun = New System.ServiceProcess.ServiceBase () {New Service1, New MySecondUserService}         '         ServicesToRun = New System.ServiceProcess.ServiceBase() {New Service1()}         System.ServiceProcess.ServiceBase.Run(ServicesToRun)     End Sub     'Required by the Component Designer     Private components As System.ComponentModel.IContainer     ' NOTE: The following procedure is required by the Component Designer     ' It can be modified using the Component Designer.       ' Do not modify it using the code editor.     <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()         '         'Service1         '         Me.CanPauseAndContinue = True         Me.CanShutdown = True         Me.ServiceName = "BackupService"     End Sub #End Region     Private WithEvents FileWatch As FileSystemWatcher     Protected Sub OnChanged(ByVal From As Object, ByVal e As FileSystemEventArgs) Handles FileWatch.Changed         Dim Log As New EventLog("Application")         Log.Source = "BackupService"         Log.WriteEntry("File " & e.Name & " changed at " & DateTime.Now)         Log.WriteEntry("File " & e.FullPath & " changed at " & DateTime.Now)         Log.Close()         File.Copy(e.FullPath, "C:\Data\Backup\" & e.Name)     End Sub     Protected Sub OnCreated(ByVal From As Object, ByVal e As FileSystemEventArgs) Handles FileWatch.Created         Dim Log As New EventLog("Application")         Log.Source = "BackupService"         Log.WriteEntry("File " & e.Name & " created at " & DateTime.Now)         Log.WriteEntry("File " & e.FullPath & " created at " & DateTime.Now)         Log.Close()         File.Copy(e.FullPath, "C:\Data\Backup\" & e.Name)     End Sub     Protected Overrides Sub OnStart(ByVal args() As String)         Try             Directory.CreateDirectory("C:\Data")             Directory.CreateDirectory("C:\Data\Backup")             FileWatch = New FileSystemWatcher("C:\Data")             FileWatch.Filter = "*.*"             FileWatch.IncludeSubdirectories = True             FileWatch.EnableRaisingEvents = True             Dim Log As New EventLog("Application")             Log.Source = "BackupService"             Log.WriteEntry("Service started at " & DateTime.Now)             Log.Close()         Catch E As Exception         End Try     End Sub     Protected Shadows Sub OnPause(ByVal args() As String)         Try             FileWatch.EnableRaisingEvents = False             Dim Log As New EventLog("Application")             Log.Source = "BackupService"             Log.WriteEntry("Service paused at " & DateTime.Now)             Log.Close()         Catch E As Exception         End Try     End Sub     Protected Shadows Sub OnContinue(ByVal args() As String)         Try             FileWatch.EnableRaisingEvents = True             Dim Log As New EventLog("Application")             Log.Source = "BackupService"             Log.WriteEntry("Service continued at " & DateTime.Now)             Log.Close()         Catch E As Exception         End Try     End Sub     Protected Shadows Sub OnShutdown(ByVal args() As String)         Try             FileWatch.EnableRaisingEvents = False             Dim Log As New EventLog("Application")             Log.Source = "BackupService"             Log.WriteEntry("Service shutdown at " & DateTime.Now)             Log.Close()         Catch E As Exception         End Try     End Sub     Protected Overrides Sub OnStop()         Try             FileWatch.EnableRaisingEvents = False             Dim Log As New EventLog("Application")             Log.Source = "BackupService"             Log.WriteEntry("Service stopped at " & DateTime.Now)             Log.Close()         Catch E As Exception         End Try     End Sub End Class