mirror of
https://github.com/Icinga/icinga-powershell-framework.git
synced 2025-12-21 07:10:15 -05:00
Directory Check now supports file size
This commit is contained in:
parent
cee8ef178a
commit
13b90ce2b3
2 changed files with 25 additions and 10 deletions
|
|
@ -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(
|
||||||
|
|
|
||||||
|
|
@ -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) {
|
||||||
|
|
@ -17,16 +19,26 @@ function Get-IcingaDirectoryAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
if ([string]::IsNullOrEmpty($OlderThan) -eq $FALSE -And [string]::IsNullOrEmpty($YoungerThan) -eq $FALSE) {
|
if ([string]::IsNullOrEmpty($OlderThan) -eq $FALSE -And [string]::IsNullOrEmpty($YoungerThan) -eq $FALSE) {
|
||||||
$OlderThan = Set-NumericNegative (ConvertTo-Seconds $OlderThan);
|
$OlderThan = Set-NumericNegative (ConvertTo-Seconds $OlderThan);
|
||||||
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -lt (Get-Date).AddSeconds($OlderThan)})
|
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -lt (Get-Date).AddSeconds($OlderThan)})
|
||||||
$YoungerThan = Set-NumericNegative (ConvertTo-Seconds $YoungerThan);
|
$YoungerThan = Set-NumericNegative (ConvertTo-Seconds $YoungerThan);
|
||||||
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -gt (Get-Date).AddSeconds($YoungerThan)})
|
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -gt (Get-Date).AddSeconds($YoungerThan)})
|
||||||
} elseif ([string]::IsNullOrEmpty($OlderThan) -eq $FALSE) {
|
} elseif ([string]::IsNullOrEmpty($OlderThan) -eq $FALSE) {
|
||||||
$OlderThan = Set-NumericNegative (ConvertTo-Seconds $OlderThan);
|
$OlderThan = Set-NumericNegative (ConvertTo-Seconds $OlderThan);
|
||||||
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -lt (Get-Date).AddSeconds($OlderThan)})
|
$DirectoryData = ($DirectoryData | Where-Object {$_.LastWriteTime -lt (Get-Date).AddSeconds($OlderThan)})
|
||||||
} elseif ([string]::IsNullOrEmpty($YoungerThan) -eq $FALSE) {
|
} elseif ([string]::IsNullOrEmpty($YoungerThan) -eq $FALSE) {
|
||||||
$YoungerThan = Set-NumericNegative (ConvertTo-Seconds $YoungerThan);
|
$YoungerThan = Set-NumericNegative (ConvertTo-Seconds $YoungerThan);
|
||||||
$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;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue