Назад | Перейти на главную страницу

Поворот журналов PHP в IIS 8

У меня есть аналогичный вопрос к вот этот у которого, похоже, нет счастливого решения. В нем упоминается использование rotatelog.exe который является частью инфраструктуры Apache и недоступен мне.

Я унаследовал веб-сервер Windows 2012 R2 от своего предшественника, он обслуживает файлы PHP через IIS 8.5. Недавно я попытался диагностировать проблему на одном из наших сайтов, но обнаружил, что размер журнала ошибок PHP составляет несколько ГБ (начиная с 2013 года).

В идеале я хотел бы обновлять эти журналы на ежедневной или ежемесячной основе.

Как я могу этого добиться? PHP - это 5.4, но приемлем метод для любой версии.

Я решил это с помощью пакетного сценария и добавил сценарий для ежедневного выполнения в планировщик задач. Я знаю, что могу написать это в PowerShell, но я недостаточно знаком с оболочкой для этого.

Это мой пакетный сценарий:

:: Batch script to rotate PHP logs
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS

SET logPath=c:\php\logs\
SET currentLog=PHP54_errors.log

FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET B=%%A
MOVE %logPath%%currentLog% %logPath%%B:~0,4%-%B:~4,2%-%B:~6,2%.log