Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Очистка папки с логами при достижении 10% свободного места

Ответить
Настройки темы
PowerShell - Очистка папки с логами при достижении 10% свободного места

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Коллеги привет! Помогите с написанием скрипта:
Суть такова, есть папка, в ней файлы логов, задача запускать скрипт очистки раз в час (тут вопросов нет), и если свободного места на диске осталось <10% то скрипт удаляет файлы старше 7 дней. Далее через час скрипт через планировщик запустится снова, и допустим места все равно осталось <10%, тогда скрипт должен удалить файлы старше 6 дней и так до текущего (текущий день с логами не удаляем). Есть пока такой, но собрать все в едино из за небольшого опыта не получается:
(Проверяет на свободное место и удаляет файлы за 7 дней)
$percentWarning = 10
$ListDisk = Get-WmiObject -Class Win32_LogicalDisk
Foreach($Disk in $ListDisk){
if ($Disk.size -ne $NULL)
{
$DiskFreeSpace = ($Disk.freespace/1GB).ToString('F2')
$DiskFreeSpacePercent = [Math]::Round(($Disk.freespace/$Disk.size) * 100, 2)
if($DiskFreeSpacePercent -lt $percentWarning)
{
Get-ChildItem -Path "C:\Logs" -Filter *.log | where {$_.LastWriteTime -le (Get-Date).AddDays(-7)} | Remove-Item -Recurse -Force
}
}
}

Отправлено: 13:53, 09-02-2022

 

Аватара для DJ Mogarych

fascinating rhythm


Moderator


Сообщения: 6620
Благодарности: 1526

Профиль | Отправить PM | Цитировать


Не проверял, пробуйте.
Код: Выделить весь код
$disk = get-volume -DriveLetter "C"

if ($disk.SizeRemaining / $disk.size * 100 -lt 10) {
dir "C:\Logs\*.log" |? LastWriteTime -le (Get-Date).AddDays(-7) | del -Recurse -Force
}

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)


Отправлено: 18:00, 09-02-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Очистка папки с логами при достижении 10% свободного места

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Влияет ли на быстродействие системы в целом - Параметр - "Очистка свободного места А_н_д_р_ей Хочу все знать 1 03-10-2012 14:38
HDD - Сложности с использованием свободного места YoungFan Накопители (SSD, HDD, USB Flash) 4 25-01-2011 12:50
Служба репликации обнаружила нехватку свободного места, хотя места там предостаточно. andriod Microsoft Windows NT/2000/2003 5 20-03-2009 11:28
Ошибка - [решено] при попытке копирования файла на винт вылетает ошибка - нет свободного места slork Microsoft Windows 2000/XP 10 26-08-2007 09:45
Проблема свободного места CBMen Microsoft Windows 2000/XP 7 06-09-2002 18:59




 
Переход