PowerShell: Logifailide arhivaar
From ICO wiki
<Source lang="powershell">
<#
.SYNOPSIS Skript otsib etteantud kaustast üles logifailid, mis on vanemad kui 7 päeva ja tõstab need arhiivi. Originaalkaustast kustutakse fail ära. Annab veateate, kui pole piisavalt vanu faile arhiveerimiseks. .DESCRIPTION Skript käivitatakse parameetriteta .EXAMPLE C:\> .\arhivaar.ps1 .NOTES Autor: Kermo Pajula Versioon: 0.1 Muutmise kuup2ev: 21.05.2012 .LINK https://wiki.itcollege.ee/index.php/PowerShell:_Logifailide_arhivaar
- >
- Määrame muutujad
$aeg = Get-Date $vanus = "7" $muudetud = $aeg.AddDays(-$vanus)
- Määrame kaustad ja faililaiendi
$kaust = "C:\Logs" $arhiiv = "C:\Logs\Archive" $laiend = "*.log"
- Võtame välja kõik failid, mis vastavad meie kriteeriumitele
$failid = Get-Childitem $kaust -Include $laiend -Recurse | Where {$_.lastwritetime -le "$muudetud"}
foreach ($fail in $failid) {
if ($fail -ne $NULL) { #Kopeerime faili arhiivi ja kustutame kaustast ära $fail | % { copy $_.FullName $arhiiv -Force} Remove-Item $fail.fullname | out-null } else { Write-Host "Pole faile, mida arhiveerida" }
}