Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивация логов с датой по месяцам (7zip)

Ответить
Настройки темы
CMD/BAT - Архивация логов с датой по месяцам (7zip)

Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Требуется архивировать устаревшие логи в архив и архивы создавать помесячно. (Архиватор 7zip)
Логи хранятся в формате *YYMMDD.log и *YYMMDD.txt где * произвольный набор символов (длина чаще всего 2 шт и более)
архивы alogYYMM.7z
Желательно чтобы оставались логи за текущий месяц.
(замечу что логи текущей даты открыты для записи)


Первое что пришло в голову

Код: Выделить весь код
hostname>>arclog.log 
echo %Date%>>arclog.log
echo %time%>>arclog.log
FOR /L %%g IN (10,1,12) DO FOR  %%m IN (01,02,03,04,05,06,07,08,09,10,11,12) DO (
if exist *%%g%%m*.*  7z u -t7z .\arc\alog%%g%%m.7z *%%g%%m??.* -m0=PPMd -mx=9
del *%%g%%m??.* /Q
)
недостаток у этой реализации - удаляются логи за текущий месяц

немного модифицировал но что-то не работает как надо

Код: Выделить весь код
set Dtmp=%Date%
set DD=%Dtmp:~0,2%
set DM=%Dtmp:~3,2%
set DY=%Dtmp:~8,2%
hostname>>arclog.log 
echo %Date%>>arclog.log
echo %time%>>arclog.log
FOR /L %%g IN (10,1,12) DO FOR  %%m IN (01,02,03,04,05,06,07,08,09,10,11,12) DO (
if exist *%%g%%m*.*  7z u -t7z -sdel .\arc\alog%%g%%m.7z *%%g%%m??.* -m0=PPMd -mx=9
if %%g==%DY% (@if %%m==%DM% cls else del *%%g%%m??.* /Q) else del *%%g%%m??.* /Q
)
Подскажите что тут не так.
Может быть есть какой-то другой вариант обработки логов, например чтобы не перечислять весь список в цикле а как то понять какие логи есть и применить соответствующую команду архивации.

Еще один момент, 7zip (9.20) не умеет переносить (удалять после архивации) файлы в архив, появилась такая возможность в альфа версии 9.28 и то она не действует для команды (u) только для (а).
Применение альфа версии не желательно, да в данный момент на местах установлена 9.20

Отправлено: 10:00, 16-08-2012

 


Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивация логов с датой по месяцам (7zip)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Помогите с командами для 7zip Centrinar Скриптовые языки администрирования Windows 42 10-12-2015 22:01
7zip SFX el_motoblock Хочу все знать 0 24-02-2012 10:34
CMD/BAT - [решено] сделать бат файл, который архивирует файлы по их созданию по месяцам Qwerty!! Скриптовые языки администрирования Windows 11 06-01-2012 09:43
[решено] 7zip в msi под x86 madmax24 Хочу все знать 2 27-02-2009 09:16
7zip вместо cab в дистрибутиве fantik Автоматическая установка Windows 2000/XP/2003 3 16-10-2006 20:45




 
Переход