Перейти к содержимому
www.mytechnote.ru
Меню
  • Администрирование
    • Скрипты
  • Оборудование
    • Обзоры
    • Инструкции
  • Прочее
  • Русский
    • English
    • Русский
Меню

Bat скрипт для ротации логов и не только

Сегодня хочу показать вам очередной простенький скрипт. На этот раз это – bat скрипт для ротации логов, да в общем то и не только логов, а в принципе любых файлов. Автоматическое переименование и удаление осуществляется, если файл достигнет заданного размера.

Текст скрипта:

@echo off
set file=query.log
set path="c:\logs\"
set maxbytesize=268436480
set filescount=7
cd %path%
for /F "usebackq" %%A in ('%file%') do set size=%%~zA
if %size% LSS %maxbytesize% (
echo "we should do nothing"
) else (
    setlocal ENABLEDELAYEDEXPANSION
    set /a j=%filescount%-1
    del /f /q %file%.%filescount%
    for /l %%i in (!j!,-1,0) do (
        set /a k=%%i+1
        ren %file%.%%i %file%.!k!
    )
    endlocal
    ren %file% %file%.0
)

Принцип работы предельно прост – мы задаем имя файла, путь до него, максимальный размер, при достижении которого будет осуществлено переименование, а также количество архивных файлов.

Далее мы смотрим размер файла. Если он окажется больше заданного нами, то переименовываем его, а также все архивные файлы, самый старый файл – удаляется, если количество файлов равно заданному нами.

В принципе тут всё просто, но обратите внимание на переменную ENABLEDELAYEDEXPANSION, если ее не задать, то в цикле будут невозможны операции с переменными.

Надеюсь скриптик окажется вам полезным.

Опубликовано в 24.06.201830.05.2024 от sanglyb

Навигация по записям

← Ресивер GS 8300 N не включается, возможная причина
Сервер Windows сам выключается – событие user32 event 1074 →

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Подписывайтесь

Youtube
vk
telegram
github
twitter
rss
  • Форум
  • Об авторе
  • Поддержать автора

Популярные записи

Новые записи

  • Как расширить LVM раздел в Linux
  • Исправление ошибки SrsResources.dll после обновления SSRS для SCCM
  • Проблема при использовании библиотеки PassFiltEx на старых процессорах
  • Как удалить вложения из старых событий календаря в Exchange с помощью скрипта
  • Как скачать и установить Office 2024 LTSC

Архивы

  • 2026 (3)
  • 2025 (5)
  • 2024 (7)
  • 2023 (6)
  • 2022 (5)
  • 2021 (25)
  • 2020 (34)
  • 2019 (39)
  • 2018 (78)
  • 2017 (56)
  • 2016 (77)
  • 2015 (9)
© 2015-2026 www.mytechnote.ru
Использование материалов сайта возможно только с разрешения владельца или обязательна индексируемая, прямая, передающая вес ссылка на материал.