Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Ротация средствами командной оболочки

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

ITTsib

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
что-то удобное/новое появилось за эти годы в теме ротации файлов в винде?
у меня тема/задача такая: есть некие файлы  
aaa-123-2021-11-22-111110.log  
aaa-123-2021-11-23-111112.log  
aaa-123-2021-11-24-111109.log  
 
и aaa-456-2021-11-22-111213.log  
aaa-456-2021-11-23-111210.log  
aaa-456-2021-11-24-111233.log  
 
и aaa-789-2021-11-22-151610.log
aaa-789-2021-11-23-151625.log
aaa-789-2021-11-24-151607.log
 
т.е. некие наборы данных, накапливающиеся например ежедневно. хранить достаточно по 7 последних версий, но проблема  
а) сегодня aaa-123... появляются, через месяц их уже не будет. а версии (по дате) удалять нельзя, надо хранить; а завтра появятся некие aaa-654... на которые версионность/ротация должна включиться автоматически
б) файлик aaa-123-2021-11-22-111110.log и aaa-123-2021-11-22-111110.txt - разные вещи и версионность/ротация работать отдельно для каждого
в) Теневые копии не подойдут - речь про десятки гигов в каждом файле. и при их использовании опять же данные годовой давности могут затереться при нехватке места. Место - моя проблема, последние 7 версий каждого файла д/быть обязательно
PS сжимать не обязательно, log здесь для примера, на самом деле там м/быть и 7zip и gz и др.
но если возможность сжатия например по маске будет - даже лучше

Всего записей: 1 | Зарегистр. 30-07-2018 | Отправлено: 18:01 24-11-2021
ipmanyak



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ITTsib Твое описание сумбурное, до конца не понять.  Сделай блок-схему  программы, которая будет делать то, что ты хочешь. Этим ты приведешь в порядок свои мысли.
Пока я понимаю так:
 - сначала  определяем префиксы всех имен файлов вида aaa-xxx, где xxx может меняться и заносим уникальные префиксы  в файл.
 - затем в цикле берем префикс из файла, ищем все файлы с этим префиксом и оставляем 7 последних  по дате, остальные файлы с этим префиксом удаляем.
Если так, то батник вполне можно написать. Можно и на VBS и на  Powershell, если владеешь ими.
     


----------
В сортире лучше быть юзером, чем админом...

Всего записей: 11743 | Зарегистр. 10-12-2003 | Отправлено: 18:39 24-11-2021 | Исправлено: ipmanyak, 18:41 24-11-2021
jawinbox

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ITTsib
Если в именах ваших файлов вырезать дату (не aaa-123-2021-11-22-111110.log , а aaa-123-111110.log)
то вот такой код cmd

Код:
 
@echo off
:jaw backup
setlocal enabledelayedexpansion
 
Set /a q = 7
 
attrib -a %~nx0
Set /a q = %q%-1
for /f %%b in ('dir /aa /b') do (
    echo обработка %%b
    for /l %%i in (%q%,-1,1) do (
        set /a s=%%i-1
        if exist %%b.-!s! del %%b.-%%i >nul 2<&1 &ren %%b.-!s! %%b.-%%i
    )
    ren %%b %%b.-0
)
attrib -a *.-?
 

Всего записей: 2 | Зарегистр. 16-04-2018 | Отправлено: 15:28 26-11-2021
sdr77

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ITTsib
> что-то удобное/новое появилось за эти годы в теме ротации файлов в винде?  
 
1) cygwin
кстати там и cron есть, вместо жырного глюкала "Планировщик задач".
2) man find
можно делать все и с любой логикой (если есть хоть какая-то логика в исходных данных. иначе GIGO).
 
> в) Теневые копии не подойдут
 
это только для файлов, которые кто-то держит на запись. иначе не нужно.
 

Всего записей: 386 | Зарегистр. 22-07-2005 | Отправлено: 21:27 28-11-2021
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Ротация средствами командной оболочки


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru