powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / ограничить увеличение файла
11 сообщений из 11, страница 1 из 1
ограничить увеличение файла
    #37669143
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в системе имеется несколько файлов, в которые windows services пишут свои логи.
иногда в windows service происходит сбой, файлы начинают быстро увеличиваться в размере, пока не занимают всё свободное место на диске; это приводит к остановке работы других систем.
файлы открыты для записи этими сервисами, удалить или переместить их можно только остановив windows service.
сервисы трогать запрещено.
есть ли возможность остановить увеличение файла?
оптимальный вариант - установить максимальный лимит, после которого невозможно ничего добавить в файл.
ОС - windows server 2003, Framework 4
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37669402
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valvфайлы открыты для записи этими сервисами, удалить или переместить их можно только остановив windows service.
сервисы трогать запрещено.
путь к логам у этих говносервисов задать то можно?
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37669584
Пускать сервисы под юзерами-с-квотами

http://www.techotopia.com/index.php/Managing_Windows_Server_2008_Disk_Quotas
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37669679
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чисто - административное решение. Если логов не
очень много (8-16) - создать несколько partitions
по одному на каждый лог и сконфигурить соотв.
образом пути. Желательно через mount points
чтоб было красиво. Преимущества - практически
не будет фрагментации самого лога. Т.е. скорость
записи в лог будет весьма хороша.

Модератор: Тема перенесена из форума "Программирование".
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670552
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо за советы,

maytonЧисто - административное решение
похоже, что административное решение отсутствует.
возможно, существует вариант типа резидентной программы,
которая бы контролировала запись в файл, и не давала бы расти файлу свыше определённого лимита?
может быть кто-нибудь подскажет направление, в котором копать?
программу можно запустить с админскими правами.

mayton создать несколько partitions по одному на каждый лог и сконфигурить соотв. образом пути.
спасибо, отличное решение, примерно так и сделано на тестовом сервере.
к сожалению, на production сервере невозможно это сделать: останавливать сервисы запрещено. дождаться очередного краша системы и запустить заранее заготовленный скрипт - очень опасно, не можем так рисковать.

Изопропилпуть к логам у этих говносервисов задать то можно?
нельзя. но можно прочитать - пути записаны в ini-файлах.

склопендра Пускать сервисы под юзерами-с-квотами
увы, сервисы запущены под юзером с админскими правами, и нет возможности поменять.
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670571
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valvвозможно, существует вариант типа резидентной программы,
которая бы контролировала запись в файл, и не давала бы расти файлу свыше определённого лимита?
может быть кто-нибудь подскажет направление, в котором копать?
программу можно запустить с админскими правами.

Нет. Резидентные программы - это игры в кошки-мышки. До добра не доведут.
Штатный инструмент - это управление квотами. То что сказал склопендра.
Делаю +1 к квотам.

В ОС семейства Linux эта проблема решается по другому. Стартует демон
logrotate который периодически переименовывает файлы логов в имена
с датами <log_name>_YYYY_MM_DD.log. Это возможно благодаря тому
что процессы которые пишут в лог периодически добавляют в него
записи в режиме APPEND. Тоесть не владеют файловым дескриптором
100% времени. И в те интервалы когда файл никем не занят он просто
переименовывается. И новый APPEND создаёт новый лог файл.

Но в Windows в силу различных причин (возм. особенности разработки
самих процессов пишущих логи) мне не удавалось использовать logrotate.
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670709
valv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton Нет. Резидентные программы - это игры в кошки-мышки. До добра не доведут.
не суть. пусть это будет windows service или exe-файл запускаемый ежеминутно как scheduled task.
maytonИ в те интервалы когда файл никем не занят...
...не владеют файловым дескриптором 100% времени
всегда занят, владеют файловым дескриптором 100% времени.
как бы влезть между сервисом и файловой системой?
ps система работает в production, и на данный момент невозможно перейти на линукс или изменить юзеров.
необходима мелкая заплатка на существующий workaround, предотвращающая неограниченный рост размера файла.
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670755
(Совесть)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
valv,

1. использовать квоты.
2. вынести логи на отдельный диск , для безопасности системы.
3. использовать программы, которые будут мониторить рост обьема логов, которая в свою очередь будет реагировать (принудительно останавливать сервис и удалять лог, проводить ротацию логов, перегружать сервисы...).
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670761
(Совесть)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
valvкак бы влезть между сервисом и файловой системой?

Принудительно остановить!
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670777
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(Совесть)valvкак бы влезть между сервисом и файловой системой?

Принудительно остановить!
+1. Это даже не технический а
организационный момент.
...
Рейтинг: 0 / 0
ограничить увеличение файла
    #37670857
(Совесть)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот набросал простенький ПРИМЕРНЫЙ сценарий в Automate 6:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<AMMANAGEDTASKFILE>
<TASK ID="{0696033D-E391-45F7-9E42-54C76BD5A253}" NAME="RotateLOG" FILENAME="C:\Documents and Settings\All Users\Документы\My AutoMate Tasks\RotateLOG.aml" LASTRUN="40959,6403786806" ERRORLINE="2" ERRORTEXT="Process cannot be found.  " LASTRUNRESULT="FAIL" LOGOFFACTION="USERNOINTERACTIVE">
<TRIGGERS>
<AMFILETRIGGER FOLDER="C:\WINDOWS" SUBFOLDERS="YES" ADDED="NO" MODIFIED="YES" FILESIZE="100000" INCLUDE="*.log"  AM5_TRIGGERID="{5168D133-D914-4BDA-A231-8309C813BC1B}">
</TRIGGERS>
</TASK>
<AM5TASK>
<AMTASKHEAD>
    <TASKINFO TASKVERSION="6110">
<\AMTASKHEAD>
<STEPS>
<AMSERVICESTOP SERVICE="Java Quick Starter" STOPIFMASTER="YES">
<AMENDPROCESS PROCESS="C:\WINDOWS\system32\hkcmd.exe">
<AMFILEDELETE SOURCE="C:\WINDOWS\FaxSetup.log">
<AMSERVICESTART SERVICE="Служба времени Windows">
<\STEPS>
</AM5TASK>
</AMMANAGEDTASKFILE>

...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Windows [игнор отключен] [закрыт для гостей] / ограничить увеличение файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]