When I scanned a Windows 7 Professional system with Malwarebytes Anti-Malware it reported a file associated with PUP.Optional.TorchMedia, which I had it remove.
[ More Info ]
[ More Info ]
DNS.logand I'd like to close the current log at midnight renaming it to
DNS_YYYYMMDD.logwhere YYYY is the 4-digit year, MM, the month (1-12) and DD the day (1-31). The system date can be put in the format
YYYYMMDDusing substring extraction as explained at Appending a date to a filename in batch files.
Renaming the log file requires stopping the DNS server service, which
can be done with the command
net stop "DNS Server". If
you try to move the file without stopping the service, you will receive
the message below:
D:\Logs\DNS>move dns.log dns_old.log The process cannot access the file because it is being used by another process. 0 file(s) moved.
After the file is moved/renamed, the DNS server service can be restarted
net start "DNS Server".
The location of the DNS log file is stored in the Windows Registry. A
REG QUERY command can be used to obtain the current location for
the file as explained at
Determing the location of a Microsoft Windows DNS log file from a command prompt. After the location and name of the file is determined, the DNS server
service can be stopped, then the current log file can be renamed, and the
DNS server service can be restarted, creating a new log file with the name
and at the location indicated by the registry entry.
The batch file is shown below and is available here.
@echo off REM Name: rotatednslog.bat REM Version: 1.0 REM Created: December 6, 2014 REM Last Modified: December 6, 2014 REM REM: Location of latest version: REM: http://support.moonpoint.com/downloads/computer_languages/mswin_batch/rotatednslog.bat REM REM Description: When scheduled to run at the end of each day, this batch REM file will roate the DNS server log. The DNS server service will be REM stopped temporarily, so the current DNS log can be renamed to a log file REM with the name DNS_YYYYMMDD.log, where YYYY is the year, MM the month, and REM DD the day. The DNS server service will then be restarted creating a REM new DNS log file. The current location of the DNS log file is obtained REM from the Windows Registry. REM Required for substituting the contents of a variable in string subsitution REM employed to insert the contents of the date variable YYYYMMDD in the log REM file name. SETLOCAL ENABLEDELAYEDEXPANSION REM Windows Registry key holding the location of the DNS log file SET regkey="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters" REM Registry value needed from the above key SET regvalue="LogFilePath" REM Extract only the file location from the output of the reg query command FOR /F "tokens=3" %%G IN ('reg query %regkey% /v LogFilePath ^| find %regvalue%') DO set logfile=%%G REM Set the variable YYYYMMDD to today's date in YYYYMMDD format where REM YYYY = 4-digit year, MM is month (1-12), and DD is day (1-31) SET YYYYMMDD=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2% REM Set the name for the rotated log file to have "_YYYYMMDD.log" at the REM end of the file name. Need to use delayed expansion. SET renamedlog=!logfile:.log=_%YYYYMMDD%.log! REM Stop the DNS server service NET STOP "DNS Server" REM Move the log file to its new location with its new name. REM Since you cannot specify a new drive or path for your destination file with REM the RENAME command, I'm using the MOVE command, instead, in case I may REM wish to update this batch script to move the file to another drive and/or REM directory. MOVE %logfile% %renamedlog% REM Restart the DNS server service NET START "DNS Server"
If it is run from a command prompt, you will see the following output:
C:\Program Files\Utility\Scripts>rotatednslog The DNS Server service is stopping. The DNS Server service was stopped successfully. 1 file(s) moved. The DNS Server service is starting. The DNS Server service was started successfully.
Since I would like the batch file to execute at the end of each day, I
scheduled it to run at 23:59 (11:59 PM) Monday through Sunday with the command
at 23:59 /every:m,t,w,th,f,s,su
"C:\program files\utility\scripts\rotatednslog.bat (specify the location
for the batch file).
C:\Program Files\Utility\Scripts>at 23:59 /every:m,t,w,th,f,s,su "C:\program files\utility\scripts\rotatednslog.bat" Added a new job with job ID = 5
I could have used
00:00 to run the batch job at midnight, but
I set it to run 1 minute before midnight to be sure that the date inserted
in the name of the file is the one for the day that has just ended rather than
the date of the new day.
If you want to see the details of scheduled batch jobs, you can just
at without any parameters at the command line and hit
return. You will then see all the scheduled batch jobs. There may be gaps
in the ID numbers if some batch jobs have been deleted.
C:\Documents and Settings\Administrator>at Status ID Day Time Command Line ------------------------------------------------------------------------------- 1 Each M T W Th F S 7:30 PM d:\backups\daily.bat 2 Each Su 7:30 PM d:\backups\weekly.bat 5 Each M T W Th F S Su 11:59 PM "C:\program files\utility\scripts\rotatednslog.bat"
If you wish to delete a scheduled batch job you can use
at id /delete, where
id is the numeric
ID assigned to a batch job. E.g., the rotatednslog batch job above could
be deleted with
at 5 /delete.
Shop Amazon Local - Subscribe to Deals in Your Neighborhood