Windows 2000/2003 DHCP server only retains log files for seven days in the following location c:\windows\system32\dhcp\ in the following formats:
DhcpSrvLog-Mon.log
DhcpSrvLog-Tue.log
DhcpSrvLog-Wed.log
DhcpSrvLog-Thu.log
DhcpSrvLog-Fri.log
DhcpSrvLog-Sat.log
DhcpSrvLog-Sun.log
After which they are overwritten
Logfiles are needed to be retained for a longer period
This is the default windows 2000/2003 behaviour, although log file sizes can be modified, the retention period cannot
How can I automatically back these logs up prior to them being overwritten and append each log file with the date
Create the following vbscript and schedule it to run on the Windows Server.
Const OverwriteExisting = TRUE
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Mon.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Tue.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Wed.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Thu.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Fri.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Sat.log" , "C:\dhcp_logs\", OverwriteExisting
objFSO.CopyFile "C:\windows\system32\dhcp\DhcpSrvLog-Sun.log" , "C:\dhcp_logs\", OverwriteExisting
Dim wFile
With CreateObject("scripting.filesystemobject")
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Mon.log")
wFile.Name = "DhcpSrvLog-Mon_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Tue.log")
wFile.Name = "DhcpSrvLog-Tue_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Wed.log")
wFile.Name = "DhcpSrvLog-Wed_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Thu.log")
wFile.Name = "DhcpSrvLog-Thu_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Fri.log")
wFile.Name = "DhcpSrvLog-Fri_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Sat.log")
wFile.Name = "DhcpSrvLog-Sat_" & Replace(Date, "/", "-") & ".log"
Set wFile = .GetFile("C:\dhcp_logs\DhcpSrvLog-Sun.log")
wFile.Name = "DhcpSrvLog-Sun_" & Replace(Date, "/", "-") & ".log"
End With
THE INFORMATION IN THIS DOCUMENT IS PROVIDED ON AN AS-IS BASIS WITHOUT WARRANTY OF ANY KIND. PROVIDER SPECIFICALLY DISCLAIMS ANY OTHER WARRANTY, EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL PROVIDER BE LIABLE FOR ANY CONSEQUENTIAL, INDIRECT, SPECIAL OR INCIDENTAL DAMAGES, EVEN IF PROVIDER HAS BEEN ADVISED BY USER OF THE POSSIBILITY OF SUCH POTENTIAL LOSS OR DAMAGE. USER AGREES TO HOLD PROVIDER HARMLESS FROM AND AGAINST ANY AND ALL CLAIMS, LOSSES, LIABILITIES AND EXPENSES.