hier vielleich eine andere vorgehensweise:
habe mir aus der Sandbox das XQUOTA DB geholt. (wie oben beschrieben)
[url=http://www-10.lotus.com/ldd/sandbox.nsf/ecc552f1ab6e46e4852568a90055c4cd/b97d9a4fece1db9f00256c38004ac905?OpenDocument&Highlight=0,xquota]Link zur Sandbox XQUOTA DB[/url]
Ist ja klasse für einen Server, jedoch habe ich drei Server die ich abprüfen möchte, dies würde ich gerne als ein Agent laufen lassen, damit ich die Cluster DBs in ein Dokument bekomme und nicht wie oben drei dokumente gegeneinander prüfen möchte.
komme etwas ins straucheln bei dem quellcode.
habe zwar schon angefangen aber weiß nicht genau wo ich nun hänge:
Code
Sub Initialize
Dim session As New NotesSession
Dim directoryS1 As NotesDBDirectory
Dim directoryS2 As NotesDBDirectory
Dim directoryS3 As NotesDBDirectory
Dim thisdb As NotesDatabase
Dim db As NotesDatabase
Dim view As NotesView
Dim vc As NotesViewEntryCollection
Set thisdb = session.CurrentDatabase
Set directoryS1 = New NotesDBDirectory("S1")
Set directoryS2 = New NotesDBDirectory("S2")
Set directoryS3 = New NotesDBDirectory("S3")
Set dbS1 = directoryS1.GetFirstDatabase(DATABASE)
Set dbS2 = directoryS2.GetFirstDatabase(DATABASE)
Set dbS3 = directoryS3.GetFirstDatabase(DATABASE)
NoAccess = False
Print "Starting checking quota..."
'1.Server
While Not (dbS1 Is Nothing)
If Instr(dbS1.filepath,"mail") = 1 Then
NoAccess = False
On Error Goto NoAccessToDBS1
Print("Checking " + dbS1.FilePath)
Call dbS1.Open("", "")
If NoAccess <> True Then
dbsizeS1 = (dbS1.size)/1024/1024
Set dbqdoc = thisdb.CreateDocument '1mal
dbqdoc.Form = "dbqentry"
dbqdoc.Mail_Title = dbS1.Title
dbqdoc.Mail_Filename = dbS1.FilePath
dbqdoc.Mail_quotaS1= dbS1.SizeQuota
dbqdoc.Mail_warningS1= dbS1.SizeWarning
dbqdoc.Mail_maxsize= dbS1.MaxSize
dbqdoc.Mail_sizeS1=dbsize
dbqdoc.Mail_percentusedS1= dbS1.PercentUsed
dbqdoc.Mail_serverS1= "S1"
dbqdoc.Mail_template=dbS1.DesignTemplateName
Print "Checking quota for " & dbS1.Title
BackNoAccessToDBS1:
BackNotInMailS1:
'2.Server
While Not (dbS2 Is Nothing)
If Instr(dbS2.filepath,"mail") = 1 Then
NoAccess = False
On Error Goto NoAccessToDBS2
Print("Checking " + dbS2.FilePath)
Call dbS2.Open("", "")
If NoAccess <> True Then
dbsizeS2 = (dbS2.size)/1024/1024
dbqdoc.Form = "dbqentry"
dbqdoc.Mail_Title = dbS2.Title
dbqdoc.Mail_Filename = dbS2.FilePath
dbqdoc.Mail_quotaS2= dbS2.SizeQuota
dbqdoc.Mail_warningS2= dbS2.SizeWarning
dbqdoc.Mail_maxsize= dbS2.MaxSize
dbqdoc.Mail_sizeS2=dbsize
dbqdoc.Mail_percentusedS2= dbS2.PercentUsed
dbqdoc.Mail_serverS2= "S2"
dbqdoc.Mail_template=dbS2.DesignTemplateName
Print "Checking quota for " & dbS2.Title
BackNoAccessToDBS2:
BackNotInMailS2:
'3.Server
While Not (dbS3 Is Nothing)
If Instr(dbS3.filepath,"mail") = 1 Then
NoAccess = False
On Error Goto NoAccessToDBS3
Print("Checking " + dbS3.FilePath)
Call dbS3.Open("", "")
If NoAccess <> True Then
dbsizeS3 = (dbS3.size)/1024/1024
dbqdoc.Form = "dbqentry"
dbqdoc.Mail_Title = dbS3.Title
dbqdoc.Mail_Filename = dbS3.FilePath
dbqdoc.Mail_quotaS3= dbS3.SizeQuota
dbqdoc.Mail_warningS3= dbS3.SizeWarning
dbqdoc.Mail_maxsize= dbS3.MaxSize
dbqdoc.Mail_sizeS3=dbsize
dbqdoc.Mail_percentusedS3= dbS3.PercentUsed
dbqdoc.Mail_serverS3= "S3"
dbqdoc.Mail_template=dbS3.DesignTemplateName
Print "Checking quota for " & dbS3.Title
Call dbqdoc.Save(True, True)
Else
NoAccess = False
End If
Goto GetNextDB
Else
Goto NotInMailS3
End If
Wend
Else
NoAccess = False
End If
Goto GetNextDB
Else
Goto NotInMailS2
End If
Wend
Else
NoAccess = False
End If
Goto GetNextDB
Else
Goto NotInMailS1
End If
BackNoAccessToDBS3:
BackNotInMailS3:
Wend
Exit Sub
NotInMailS1:
Set dbS1= directoryS1.GetNextDatabase
Print(dbS1.FilePath + " not in mail\")
Goto BackNotInMailS1
NotInMailS2:
Set dbS2= directoryS2.GetNextDatabase
Print(dbS2.FilePath + " not in mail\")
Goto BackNotInMailS2
NotInMailS3:
Set dbS3= directoryS3.GetNextDatabase
Print(dbS3.FilePath + " not in mail\")
Goto BackNotInMailS3
GetNextDB:
Set dbS1 = directoryS1.GetNextDatabase
Set dbS2 = directoryS2.GetNextDatabase
Set dbS3 = directoryS3.GetNextDatabase
Resume Next
NoAccessToDBS1:
Set dbqdoc = thisdb.CreateDocument
dbqdoc.Form = "dbqentry"
dbqdoc.Mail_Title = "* Access Denied - " + dbS1.Title
dbqdoc.Mail_Filename = dbS1.FilePath
dbqdoc.Mail_ServerS1 = "S1"
Call dbqdoc.Save(True, True)
Goto BackNoAccessToDBS1
NoAccess = True
Resume Next
NoAccessToDBS2:
Set dbqdoc = thisdb.CreateDocument
dbqdoc.Form = "dbqentry"
dbqdoc.Mail_Title = "* Access Denied - " + dbS2.Title
dbqdoc.Mail_Filename = dbS2.FilePath
dbqdoc.Mail_ServerS2 = "S2"
Call dbqdoc.Save(True, True)
Goto BackNoAccessToDBS2
NoAccess = True
NoAccessToDBS3:
Set dbqdoc = thisdb.CreateDocument
dbqdoc.Form = "dbqentry"
dbqdoc.Mail_Title = "* Access Denied - " + dbS3.Title
dbqdoc.Mail_Filename = dbS3.FilePath
dbqdoc.Mail_ServerS3 = "S3"
Call dbqdoc.Save(True, True)
NoAccess = True
Goto BackNoAccessToDBS3
Print "Ended checking quota..."
End Sub
Alles anzeigen
vielleicht kann mir dabei jemand helfen....