Directory Check now supports file size

This commit is contained in:
Crited 2019-10-31 09:43:49 +01:00
parent cee8ef178a
commit 13b90ce2b3
2 changed files with 25 additions and 10 deletions

View file

@ -66,13 +66,16 @@ function Invoke-IcingaCheckDirectory()
$Warning = $null, $Warning = $null,
[string]$YoungerThan, [string]$YoungerThan,
[string]$OlderThan, [string]$OlderThan,
[string]$FileSizeGreaterThan,
[string]$FileSizeSmallerThan,
[ValidateSet(0, 1, 2, 3)] [ValidateSet(0, 1, 2, 3)]
[int]$Verbosity = 0, [int]$Verbosity = 0,
[switch]$NoPerfData [switch]$NoPerfData
); );
$DirectoryData = Get-IcingaDirectoryAll -Path $Path -FileNames $FileNames ` $DirectoryData = Get-IcingaDirectoryAll -Path $Path -FileNames $FileNames `
-Recurse $Recurse -YoungerThan $YoungerThan -OlderThan $OlderThan; -Recurse $Recurse -YoungerThan $YoungerThan -OlderThan $OlderThan `
-FileSizeGreaterThan $FileSizeGreaterThan -FileSizeSmallerThan $FileSizeSmallerThan;
$DirectoryCheck = New-IcingaCheck -Name 'File Count' -Value $DirectoryData.Count; $DirectoryCheck = New-IcingaCheck -Name 'File Count' -Value $DirectoryData.Count;
$DirectoryCheck.WarnOutOfRange( $DirectoryCheck.WarnOutOfRange(

View file

@ -7,7 +7,9 @@ function Get-IcingaDirectoryAll()
[array]$FileNames, [array]$FileNames,
[bool]$Recurse, [bool]$Recurse,
[string]$YoungerThan, [string]$YoungerThan,
[string]$OlderThan [string]$OlderThan,
[string]$FileSizeGreaterThan,
[string]$FileSizeSmallerThan
); );
if ($Recurse -eq $TRUE) { if ($Recurse -eq $TRUE) {
@ -29,6 +31,16 @@ function Get-IcingaDirectoryAll()
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -gt ((Get-Date).AddSeconds($YoungerThan))}) $DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -gt ((Get-Date).AddSeconds($YoungerThan))})
} }
if ([string]::IsNullOrEmpty($FileSizeGreaterThan) -eq $FALSE) {
$FileSizeGreaterThanValue = (Convert-Bytes $FileSizeGreaterThan -Unit B).value
$DirectoryData = ($DirectoryData | Where-Object {$_.Length -gt $FileSizeGreaterThanValue})
}
if ([string]::IsNullOrEmpty($FileSizeSmallerThan) -eq $FALSE) {
$FileSizeSmallerThanValue = (Convert-Bytes $FileSizeSmallerThan -Unit B).value
$DirectoryData = ($DirectoryData | Where-Object {$_.Length -gt $FileSizeSmallerThanValue})
}
return $DirectoryData; return $DirectoryData;
} }