Форум программистов, компьютерный форум, киберфорум
Наши страницы
PowerShell
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Сергей_Сергееви
1 / 1 / 1
Регистрация: 10.11.2015
Сообщений: 28
1

Удаление файлов по размеру

01.03.2016, 18:49. Просмотров 682. Ответов 3
Метки нет (Все метки)

Добрые форумчане прошу помощи.
Значит так:
Есть диск на который пишется файлы бд видеонаблюдения. Иногда -рандомно , они вырастают до 300-500гб, и при заполнении диска сервер встает колом.
Что нужно:
На Powershell написать скрипт, который будет раз в сутки проверять(через стандартный виндовый шедулер) этот диск, и если в нём места меньше чем N, то скрипт удаляет эти файлы бд(и удаляет полностью, а не в корзину). Тем самым сервер продолжает работать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2016, 18:49
Ответы с готовыми решениями:

Удаление файлов по маске
Доброго времени суток уважаемые форумчане. Задача простая как две копейки,...

Запретить удаление файлов
Можно ли стандартными средствами Win 8 запретить удаление файлов из папки для...

Удаление файлов-перенаправление
Подскажите как можно в реестре или где поменять параметр, что бы файлы при...

Удаление старых файлов
Доброго времени суток ув. форумчане! Говорю сразу в шеле я профан полный!:(...

Удаление ненужных файлов
При чистке системного диска обнаружил, что папка Temp в каталоге Windows...

3
KDE777
840 / 620 / 265
Регистрация: 22.01.2016
Сообщений: 1,711
01.03.2016, 19:30 2
Цитата Сообщение от Сергей_Сергееви Посмотреть сообщение
На Powershell написать скрипт, который будет раз в сутки проверять(через стандартный виндовый шедулер) этот диск, и если в нём места меньше чем N, то скрипт удаляет эти файлы бд(и удаляет полностью, а не в корзину).
Если на диске C осталось меньше 10GB, тогда выберем из папки C:\temp (без поподпапок) все файлы более 300GB и удалим их:

PowerShell
1
if ((gwmi Win32_LogicalDisk | ?{$_.DeviceID -eq 'C:'}).FreeSpace/1GB -lt 10){ls 'C:\Temp' -File | ?{$_.Length/1GB -gt 300} | del -Force -WhatIf}
Когда проверите, что всё так - нужно убрать ключ -WhatIf
Скрипт отработает, если указанные файлы не заблокированы (не открыты в приложение).

Цитата Сообщение от Сергей_Сергееви Посмотреть сообщение
через стандартный виндовый шедулер
Запуск PowerShell скриптов по расписанию

Добавлено через 4 минуты
Цитата Сообщение от Сергей_Сергееви Посмотреть сообщение
файлы бд видеонаблюдения
Если укажите расширение этих файлов, то можно будет указать это в скрипте, что-бы дополнительно подстраховаться...
0
Сергей_Сергееви
1 / 1 / 1
Регистрация: 10.11.2015
Сообщений: 28
03.03.2016, 11:02  [ТС] 3
KDE777 спасибо огромное за ответ!

Когда проверите, что всё так - нужно убрать ключ -WhatIf
Скрипт отработает, если указанные файлы не заблокированы (не открыты в приложение).
а если файл заблокирован? там при разных обстоятельствах могут быть от 1 до 3х файлов. при этом только 1 используется. По маске расширения можно их удалять, что бы те которые не заняты стирались? И стирались именно не через корзину, так как на диске С места не разогнаться(фалы лежат на другом диске).
0
KDE777
840 / 620 / 265
Регистрация: 22.01.2016
Сообщений: 1,711
03.03.2016, 11:42 4
Цитата Сообщение от Сергей_Сергееви Посмотреть сообщение
а если файл заблокирован?
Если файл заблокирован скрипт выдаст ошибку и продолжит удаление других файлов.

А так и ошибки не покажет, а просто пропустит всё что удалить не получилось.

PowerShell
1
if ((gwmi Win32_LogicalDisk | ?{$_.DeviceID -eq 'C:'}).FreeSpace/1GB -lt 10){ls 'C:\Temp' -File | ?{$_.Length/1GB -gt 300} | del -Force -ErrorAction SilentlyContinue -WhatIf}
Цитата Сообщение от Сергей_Сергееви Посмотреть сообщение
И стирались именно не через корзину,
del (Remove-Item) именно так и удаляет - минуя корзину.

Добавлено через 3 минуты
Цитата Сообщение от Сергей_Сергееви Посмотреть сообщение
там при разных обстоятельствах могут быть от 1 до 3х файлов. при этом только 1 используется. По маске расширения можно их удалять, что бы те которые не заняты стирались?
Если у занятого (открытого) файла становится другое расширение, то да можно легко пропускать такие файла. Иначе, как я уже написал скрипт не сможет удалить открытый файл, но все остальные попадающие под условие сотрёт, минуя корзину, без проблем.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2016, 11:42

Удаление файлов мимо корзины
Собственно все компы предприятия включены в active directory. У всех...

Удаление файлов перед перезагрузкой
Возникла следующая проблема. Существуют несколько папок, файлы из которых...

Удаление файлов старше N дней на FTP-сервере
Доброго дня! Есть скрипт по копированию файлов на FTP $Dir="***" $ftp =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru