Penggunaan Folders Markdown dengan

Penggunaan Folders Markdown dengan

.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 &amp; " at line " &amp; Erl() &amp; ": code = " &amp; Err() &amp; ", message= " &amp; 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).