|
|
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
в системе имеется несколько файлов, в которые windows services пишут свои логи. иногда в windows service происходит сбой, файлы начинают быстро увеличиваться в размере, пока не занимают всё свободное место на диске; это приводит к остановке работы других систем. файлы открыты для записи этими сервисами, удалить или переместить их можно только остановив windows service. сервисы трогать запрещено. есть ли возможность остановить увеличение файла? оптимальный вариант - установить максимальный лимит, после которого невозможно ничего добавить в файл. ОС - windows server 2003, Framework 4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 13:22 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
valvфайлы открыты для записи этими сервисами, удалить или переместить их можно только остановив windows service. сервисы трогать запрещено. путь к логам у этих говносервисов задать то можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 18:42 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
Пускать сервисы под юзерами-с-квотами http://www.techotopia.com/index.php/Managing_Windows_Server_2008_Disk_Quotas ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 22:10 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
Чисто - административное решение. Если логов не очень много (8-16) - создать несколько partitions по одному на каждый лог и сконфигурить соотв. образом пути. Желательно через mount points чтоб было красиво. Преимущества - практически не будет фрагментации самого лога. Т.е. скорость записи в лог будет весьма хороша. Модератор: Тема перенесена из форума "Программирование". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2012, 23:33 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
спасибо за советы, maytonЧисто - административное решение похоже, что административное решение отсутствует. возможно, существует вариант типа резидентной программы, которая бы контролировала запись в файл, и не давала бы расти файлу свыше определённого лимита? может быть кто-нибудь подскажет направление, в котором копать? программу можно запустить с админскими правами. mayton создать несколько partitions по одному на каждый лог и сконфигурить соотв. образом пути. спасибо, отличное решение, примерно так и сделано на тестовом сервере. к сожалению, на production сервере невозможно это сделать: останавливать сервисы запрещено. дождаться очередного краша системы и запустить заранее заготовленный скрипт - очень опасно, не можем так рисковать. Изопропилпуть к логам у этих говносервисов задать то можно? нельзя. но можно прочитать - пути записаны в ini-файлах. склопендра Пускать сервисы под юзерами-с-квотами увы, сервисы запущены под юзером с админскими правами, и нет возможности поменять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:32 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
valvвозможно, существует вариант типа резидентной программы, которая бы контролировала запись в файл, и не давала бы расти файлу свыше определённого лимита? может быть кто-нибудь подскажет направление, в котором копать? программу можно запустить с админскими правами. Нет. Резидентные программы - это игры в кошки-мышки. До добра не доведут. Штатный инструмент - это управление квотами. То что сказал склопендра. Делаю +1 к квотам. В ОС семейства Linux эта проблема решается по другому. Стартует демон logrotate который периодически переименовывает файлы логов в имена с датами <log_name>_YYYY_MM_DD.log. Это возможно благодаря тому что процессы которые пишут в лог периодически добавляют в него записи в режиме APPEND. Тоесть не владеют файловым дескриптором 100% времени. И в те интервалы когда файл никем не занят он просто переименовывается. И новый APPEND создаёт новый лог файл. Но в Windows в силу различных причин (возм. особенности разработки самих процессов пишущих логи) мне не удавалось использовать logrotate. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 15:41 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
mayton Нет. Резидентные программы - это игры в кошки-мышки. До добра не доведут. не суть. пусть это будет windows service или exe-файл запускаемый ежеминутно как scheduled task. maytonИ в те интервалы когда файл никем не занят... ...не владеют файловым дескриптором 100% времени всегда занят, владеют файловым дескриптором 100% времени. как бы влезть между сервисом и файловой системой? ps система работает в production, и на данный момент невозможно перейти на линукс или изменить юзеров. необходима мелкая заплатка на существующий workaround, предотвращающая неограниченный рост размера файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 16:35 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
valv, 1. использовать квоты. 2. вынести логи на отдельный диск , для безопасности системы. 3. использовать программы, которые будут мониторить рост обьема логов, которая в свою очередь будет реагировать (принудительно останавливать сервис и удалять лог, проводить ротацию логов, перегружать сервисы...). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 16:50 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
valvкак бы влезть между сервисом и файловой системой? Принудительно остановить! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 16:52 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
(Совесть)valvкак бы влезть между сервисом и файловой системой? Принудительно остановить! +1. Это даже не технический а организационный момент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 16:58 |
|
||
|
ограничить увеличение файла
|
|||
|---|---|---|---|
|
#18+
Вот набросал простенький ПРИМЕРНЫЙ сценарий в Automate 6: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2012, 17:25 |
|
||
|
|

start [/forum/topic.php?fid=26&msg=37670777&tid=1497095]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 390ms |

| 0 / 0 |
