ЕАС ОПС, Winpost и другие программы

Неофициальный форум для инженеров, технологов и операторов Почты России


    Архивация логов ЕАС и GMMQ - BAT

    Поделиться
    postpc
    postpc
    Эксперт
    Эксперт

    Сообщения : 383
    Очки : 427
    Репутация : 30
    Дата регистрации : 2016-01-28
    20161226

    Архивация логов ЕАС и GMMQ - BAT Empty Архивация логов ЕАС и GMMQ - BAT

    Сообщение автор postpc

    Делюсь свеженьким.

    Надоело это жирное логирование. Решил заархивировать в zip с максимальной компрессией. Пользуйтесь.

    Архивирует каждый файл в отдельный zip. Удобно в дальнейшем предоставлять zip файл для поддержки ЕАС. Не удаляет json лог за текущую дату. Ниже коды bat'ников.


    Отдельно для логов ЕАС:

    Код:
    @echo off
    for %%i in (C:\ProgramData\Pos\Logs\*.json) do "C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 "C:\ProgramData\Pos\Logs\zip\%%~ni.zip" "%%i"

    setlocal enableextensions enabledelayedexpansion
    set name=%date:~6,4%%date:~3,2%%date:~0,2%.json
    set folder=C:\ProgramData\Pos\Logs\
    pushd !folder!
    for /F "tokens=*" %%a in ('dir /b /a-d !folder!') do (
    if not "%%~a"=="%name%" (
    echo DEL %%a
    del %%a
    )
    )
    exit /b

    Отдельно для логов GMMQ:

    Код:
    @echo off
    for %%i in (C:\ProgramData\GMMQ\Logs\*.json) do "C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 "C:\ProgramData\GMMQ\Logs\zip\%%~ni.zip" "%%i"

    setlocal enableextensions enabledelayedexpansion
    set name=%date:~6,4%%date:~3,2%%date:~0,2%.json
    set folder=C:\ProgramData\GMMQ\Logs\
    pushd !folder!
    for /F "tokens=*" %%a in ('dir /b /a-d !folder!') do (
    if not "%%~a"=="%name%" (
    echo DEL %%a
    del %%a
    )
    )
    exit /b

    postpc

    Сообщение Чт Мар 16 2017, 07:32 автор postpc

    Пару гигов можно сэкономить.
    postpc

    Сообщение Вт Ноя 28 2017, 13:27 автор postpc

    Можно так:

    schtasks /create /S %COMPUTERNAME% /TN "POS_GMMQ_logs_to_zip" /TR "C:\Windows\Tasks\POS_GMMQ_logs_to_zip.exe" /SC DAILY /ST 15:00 /RU %COMPUTERNAME%\логин /RP пароль /RL Highest /F

    POS_GMMQ_logs_to_zip.exe возьмите у меня
    postpc

    Сообщение Пн Дек 10 2018, 09:31 автор postpc

    POS_GMMQ_logs_to_zip.bat
    Код:
    @echo off
    title Clean LOGs GMMQ_POS

    forfiles /p C:\ProgramData\GMMQ\Logs\zip\ /s /d -31 /c "cmd /c del /f /a /q @file"
    forfiles /p C:\ProgramData\Pos\Logs\zip\ /s /d -31 /c "cmd /c del /f /a /q @file"

    for %%i in (C:\ProgramData\GMMQ\Logs\*.json) do "C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 "C:\ProgramData\GMMQ\Logs\zip\%%~ni.zip" "%%i"

    setlocal enableextensions enabledelayedexpansion
    set name2=%date:~6,4%%date:~3,2%%date:~0,2%.json
    set folder2=C:\ProgramData\GMMQ\Logs\
    pushd !folder2!
    for /F "tokens=*" %%a in ('dir /b /a-d !folder2!') do (
    if not "%%~a"=="%name2%" (
    echo DEL %%a
    del %%a
    )
    )

    for %%i in (C:\ProgramData\Pos\Logs\*.json) do "C:\Program Files\7-Zip\7z.exe" a -tzip -ssw -mx7 "C:\ProgramData\Pos\Logs\zip\%%~ni.zip" "%%i"

    setlocal enableextensions enabledelayedexpansion
    set name3=%date:~6,4%%date:~3,2%%date:~0,2%.json
    set folder3=C:\ProgramData\Pos\Logs\
    pushd !folder3!
    for /F "tokens=*" %%a in ('dir /b /a-d !folder3!') do (
    if not "%%~a"=="%name3%" (
    echo DEL %%a
    del %%a
    )
    )

    exit /b

      Текущее время Ср Ноя 27 2024, 17:26