Solved

Report required on all servers if file was created

Posted on 2011-02-15
6
836 Views
Last Modified: 2012-06-21
Hello Experts,
We currently have 100+ server in the network and on each a scheduled tasks runs everynight which compresses certain files (legacy application db files). If db files are not locked or used at the time it is compressed the file size ranges from 10MB-1GB otherwise its locked or being used the compressed output is just 1KB.
What i wanted is that to create a batch file ...
1.0 Which checks the file size on each server.
   e.g...\\<Server1>\App\DComp\MSD.zip
           \\<Server2>\App\DComp\MSD.zip
           \\<Server3>\App\DComp\MSD.zip
           \\<Server4>\App\DComp\MSD.zip
        ...\\<Servern>\App\DComp\MSD.zip
2.0 Records only the server which has 1KB file.
3.0 Outputs to a text file.
      sample content in the text file
      \\<Server4>\App\DComp\MSD.zip IS ONLY 1KB.

Can you please at least show me or suggest some links to read as to how or where to start? I'm a newbie to programming (e.g. VB, etc...)
0
Comment
Question by:jsuanque
  • 3
  • 2
6 Comments
 
LVL 7

Expert Comment

by:Waseems
ID: 34902966
small suggestion remove the archive option from all files using attrib . -a any new file added or modifed should have the archive option so if you run attrib . | find "A " you will get the list of modified files
0
 
LVL 65

Accepted Solution

by:
RobSampson earned 125 total points
ID: 34902983
Hi there,

Try this code.

Regards,

Rob.
Set objFSO = CreateObject("Scripting.FileSystemObject")

strServers = "servers.txt"
' In the following file, <SERVER> will be automatically replaced with each server read from the file
strFile = "\\<SERVER>\App\DComp\MSD.zip"
strOutput = "smallfiles.txt"

Set objOutput = objFSO.CreateTextFile(strOutput, True)
Set objFile = objFSO.OpenTextFile(strServers, 1, False)
While Not objFile.AtEndOfStream
	strServer = objFile.ReadLine
	If Ping(strServer) = True Then
		strRemoteFile = Replace(strFile, "<SERVER>", strServer)
		If objFSO.FileExists(strRemoteFile) = True Then
			If objFSO.GetFile(strRemoteFile).Size < 2048 Then
				objOutput.WriteLine strRemoteFile & " is less than 2K"
			End If
		Else
			objOutput.WriteLine "File not found: " & strRemoteFile
		End If
	Else
		objOutput.WriteLine strServer & " is offline."
	End If
Wend
objFile.Close
objOutput.Close

MsgBox "Done. Please see " & strOutput

Function Ping(strComputer)
	Dim objShell, boolCode
	Set objShell = CreateObject("WScript.Shell")
	boolCode = objShell.Run("Ping -n 1 -w 300 " & strComputer, 0, True)
	If boolCode = 0 Then
		Ping = True
	Else
		Ping = False
	End If
End Function

Open in new window

0
 

Author Comment

by:jsuanque
ID: 34903117
Hello Waseems/RobSampson,
Definitely will try your suggestion...but at the moment, were advised to evacuate the office because of Cyclone warning :-)

Will get back hopefully tomorrow.
Cheers,
0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 
LVL 65

Expert Comment

by:RobSampson
ID: 34903225
Yikes....that doesn't sound like fun!

Good luck.
0
 

Author Closing Comment

by:jsuanque
ID: 35152829
Thanks Rob.My apologies for the delay.
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 35152836
No problem. Thanks for the grade.

Regards,

Rob.
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
Introduction: Recently, I got a requirement to zip all files individually with batch file script in Windows OS. I don't know much about scripting, but I searched Google and found a lot of examples and websites to complete my task. Finally, I was ab…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question