сценарий оболочки для удаления журналов 6-месячной давности из файла журнала [закрыто]

У меня есть файл журнала размером 6,2 ГБ, который используется процессом, и он продолжает записывать журналы в этот файл. Теперь я не хочу чередовать журналы, но хочу очистить этот файл журнала. Я хочу удалить из этого файла журналы старше 6 месяцев. Можно ли использовать сценарий оболочки для чтения файла журнала и удаления журналов старше 6 месяцев?

ниже приведен формат журнала

10.0.3.xx - - [17/Jun/2016:14:21:59 +0000] "GET /visible_topics HTTP/1.1" 200 581 "-" "help/97a1dd7eb981421b9719adde381560a78bed0b66 (ip-10-0-3-xxx; user1; 4411) ruby/2.3.0 (0; x86_64-linux)" 
1
задан 5 January 2017 в 00:49
2 ответа

Зависит от версии SQL Server и версии Windows Server 2012.
. Далее по ссылке вы сами разместили .

Но насколько я могу судить, все версии Windows Server 2012 поддерживают все версии SQL Server 2016.

Полный список, как указано в ссылке выше:

SQL Server Enterprise

Windows Server 2016 Datacenter

Windows Server 2016 Standard

Windows Server 2012 R2 Datacenter

Windows Server 2012 R2 Standard

Windows Server 2012 R2 Essentials

Windows Server 2012 R2 Foundation

Windows Server 2012 Datacenter

Windows Server 2012 Standard

Windows Server 2012 Essentials

Windows Server 2012 Foundation

SQL Server Standard

Windows Server 2016 Центр обработки данных

Windows Server 2016 Standard

Windows Server 2012 R2 Datacenter

Windows Server 2012 R2 Standard

Windows Server 2012 R2 Essentials

Windows Server 2012 R2 Foundation

Windows Server 2012 Datacenter

Windows Server 2012 Standard

Windows Server 2012 Essentials

Windows Server 2012 Foundation

Windows 10 Home

Windows 10 Professional

Windows 10 Enterprise

Windows 8. 1

Windows 8.1 Профессиональная

Windows 8. 1 Enterprise

Windows 8

Windows 8 Pro

Windows 8 Enterprise

SQL Server Web

Windows Server 2016 Datacenter

Windows Server 2016 Standard

Windows Server 2012 R2 Datacenter

Windows Server 2012 R2 Standard

Windows Server 2012 R2 Essentials

Windows Server 2012 R2 Foundation

Windows Server 2012 Datacenter

Windows Server 2012 Standard

Windows Server 2012 Essentials

Windows Server 2012 Foundation

-. 121---438058-

Решение действительно заключается в использовании logrotate : он работает очень хорошо, а также может сжимать вращающийся бревно.

Если вы действительно не хотите использовать logrotate, вам нужно вручную скопировать соответствующий раздел вашего лог-файла в новый, а затем удалить старый.

Без подробного примера вашего формата лог-файла невозможно дать вам какой-либо совет по поводу требуемой команды командной оболочки.

В любом случае, вам действительно нужно использовать logrotate.

.
9
ответ дан 3 December 2019 в 16:21

Я хочу удалить журналы, которые старше 6 месяцев из этого файла.

Я не понимаю, что вы имеете в виду, но если бы мне пришлось угадывать, вы хотите удалить записи файла журнала из этого файл старше 6 месяцев. В таком случае это можно сделать, но это довольно необычный способ управления журналами в системе * nix.

То, что вы хотите сделать (если мое предположение верно), потребует синтаксического анализа каждой строки из этого файла и определение метки времени, чтобы проверить, находится ли дата входа в пределах вашего текущего 6-месячного окна. В зависимости от того, прошел / не прошел отметка времени, вы должны записать новый файл журнала без «старых» записей. Вы можете использовать инструменты оболочки, такие как grep и head и tail , чтобы достичь этого, но в интересах производительности вы можете захотеть рассмотреть специально скомпилированное приложение C созданы для того, что вам нужно.

Я не знаю, на каком оборудовании находится этот файл журнала, но огромный размер этого файла журнала (6,8 гигабайта), вероятно, вызовет значительные проблемы с производительностью при анализе старых записей и записи новых. В большинстве случаев, когда возникают такие большие проблемы, это обычно является признаком того, что процесс требует пересмотра. Однако у этого правила есть и крайние случаи. Удачи.

0
ответ дан 3 December 2019 в 16:21

Теги

Похожие вопросы