.nsf untuk Abnormalities pada .ft Folder Ukuran*
Salah satu tugas penting dalam mengelola database Lotus Domino adalah memantau ukuran folder data (*ft) dan file note (*nsf). Dalam artikel ini, kita akan membahas bagaimana menggunakan folders Markdown untuk mencatat abnormalities pada ukuran folder data.
Kondisi Abnormalities
Sebuah folder data dikatakan abnormal jika ukurannya lebih besar daripada file note (*nsf) yang terkait dengannya. Kondisi abnormal ini dapat terjadi karena beberapa faktor, seperti penggunaan ruang disk yang tidak efisien atau adanya file/file yang tidak dibutuhkan.
Mengompaktasi Database
Untuk mengatasi kondisi abnormal tersebut, kita dapat melakukan kompakting database menggunakan perintah Load compact -B
pada folder data (*ft). Namun, sebelum melakukan kompakting, perlu dipastikan bahwa ukuran database tidak melebihi ruang disk yang tersedia.
Penanganan Disk Space Alerts
Jika kita menerima alert disk space pertama untuk Server dengan ukuran disk kurang dari 10%, kita dapat mencoba menjalankan perintah Load compact -B
pada folder data (*ft). Namun, jika disk space tidak berkurang setelah kompakting, maka kita tidak akan melakukan kompakting lagi. Sebaliknya, jika disk space berkurang dan alert muncul kembali setelah 2-3 hari, maka kita dapat meminta saran dari T3 (Third Tier) dan memberitahukan mereka bagaimana sering kita menerima alert tersebut.
Script Lotus Domino untuk Memantau Disk Space
Berikut adalah script Lotus Domino yang digunakan untuk memantau disk space:
Option PublicSub Initialize
Dim sn As New NotesSession
Dim dbCur As NotesDatabase
Dim doc As NotesDocument
Dim fso As Variant
Dim drv As Variant
Dim iPercFree As Integer
On Error GoTo ErrorHandler
Set dbCur = sn.Currentdatabase
Call Logging(dbCur, "# Agent CheckFreeDiskSpace started")
Set doc = dbCur.Getprofiledocument("Profile")
If Not doc Is Nothing Then
Set fso = CreateObject("Scripting.FileSystemObject")
Set drv = fso.GetDrive(doc.cfg_Drive(0))
lngTot = drv.TotalSize
lngAvailable = drv.AvailableSpace
iPercFree = Round((lngAvailable / lngTot * 100), 1)
If iPercFree < CInt(doc.cfg_FreePerc(0)) Then
'Create and send a message
Dim docMemo As New NotesDocument(dbCur)
With docMemo
Call .ReplaceItemValue("Form", "Memo")
Call docMemo.ReplaceItemValue("From", doc.cfg_MailFrom(0))
Call .Replaceitemvalue("SendTo", doc.cfg_Recipients)
Call .Replaceitemvalue("Subject", doc.cfg_MailSubject(0))
'REM
Dim bodyField As New NotesRichTextItem(docMemo, "Body")
With bodyField
Call .APPENDTEXT(doc.cfg_MailSubject(0))
Call .ADDNEWLINE(2)
Call .APPENDTEXT("Total space: " + CStr(Round(lngTot / 1024 / 1024 / 1024, 2)) + " GB")
Call .ADDNEWLINE(1)
Call .APPENDTEXT("Free space: " + CStr(Round(lngAvailable / 1024 / 1024 / 1024, 2)) + " GB")
Call .ADDNEWLINE(1)
Call .APPENDTEXT("Current space available: " + CStr(iPercFree) + " %")
Call .ADDNEWLINE(2)
End With
End With
Call docMemo.Send(False)
End If
End If
Call Logging(dbCur, "# Agent CheckFreeDiskSpace finished")
Exit Sub
ErrorHandler:
Call Logging(dbCur, "Error in CheckFreeDiskSpace")
Exit Sub
End Sub
Sub Logging(dbCur As NotesDatabase, strErrDB As String)
Dim docLog As NotesDocument
Set docLog = dbCur.CreateDocument
docLog.Form = "AgtLog"
If Left(strErrDB, 1) <> "#" Then
strErrDB = strErrDB & " at line " & Erl() & ": code = " & Err() & ", message= " & Error()
End If
Print strErrDB
docLog.Body = strErrDB
End Sub
Dalam script di atas, kita menggunakan perintah GetDrive
untuk mendapatkan informasi tentang disk space dan kemudian menghitung persentase ruang disk yang tersedia. Jika ruang disk kurang dari 10%, maka kita dapat mencoba menjalankan perintah Load compact -B
pada folder data (*ft).