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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней

Ответить
Настройки темы
CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней

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


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

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


Доброе времья суток.

Помогите с батником.
Имеються лог файлы большого размера, их нужно удалять но только не все а те которые старше 30-40 дней.
C:\PROGRAMM\logs


so_110401.dmp
Results_110331.dmp
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:11, 05-04-2011

 

Аватара для dmitryst

Ветеран


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

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


Цитата Elven:
походу запуск в шедулере проходит для незарегистрированного пользователя. »
нет, под моим юзером, еще раз перепроверил, сменил на администратора, проверю сегодня.

Цитата Elven:
или используй абсолютное сетевое имя или перед forfiles используй net use. »
если использовать \\server\mirror\backups - в истории шедулер пишет "Incorrect directory" или что-то в этом духе. net use по второму кругу использовать? (диск-то и так уже прикручен, и до этого еще одна задача пишет туда бекап... размонтировать/смонтировать, что ли?)

Цитата Elven:
есть еще вариант что для пользователя от имени которого выполняется задача в шедулере нету доступа к шаре »
не-не, у юзера доступ точно есть, другая задача пишет туда файло на неколько Гб, без проблем, а эта как раз должна подтирать предыдущие.

Самое интересное, что в шедулере Last Run result = (0x1), рецепт по ссылке не прокатил, попробую еще сменить юзера на админа - может, все-таки диск почему-то не виден из-под моего юзера (в проводнике отображается, права на чтение-запись есть, вручную скрипт отлично выполняется).

Цитата Iska:
Именно в этом и может быть. »
если со сменой юзера ничего не изменится, буду применять в самом скрипте монтирование, т.к. URI официально поддерживаются, а значит, сетевой диск тоже легитимный объект

-------
Осваиваю FreeBSD


Отправлено: 11:59, 21-08-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Ветеран


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

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


dmitryst, в условиях домена ничего монтировать не нужно в принципе.

Если у пользователя есть доступ к ресурсу — всё работает непосредственно с UNC именами. При настоятельной необходимости использовать UNC ресурс в качестве текущего каталога — либо используется пара pushd/popd, либо посредством GP задаётся параметр реестра «DisableUNCCheck» (Cmd.exe does not support UNC names as the current directory).

Отправлено: 12:10, 21-08-2014 | #12


Аватара для dmitryst

Ветеран


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

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


Цитата Iska:
в условиях домена ничего монтировать не нужно в принципе. »
а нет тут домена, и не нужен

В-общем, решилось..


Код: Выделить весь код
net use x: \\serv\mirror\SQL_back password /user:backup_user

rem forfiles /p x:\ /s /d -5 /c "cmd /c del /f /a /q @file"

net use x: /delete
Монтируем диск как Х:, удаляем с этого диска все файлы старше 5и дней и размонтируем нафиг... Аналогично придется сделать и в других задачах (не получается смотировать диск два раза, например, как X: для одной задачи и как Z: для другой, повторно тот же УРЛ монтироваться не хочет)

Всем спасибо за подсказки!

-------
Осваиваю FreeBSD


Отправлено: 12:33, 21-08-2014 | #13


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


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

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


Цитата:
forfiles /P "D:\666" /M *.* /S /D -90 /C "cmd /c del /q @PATH"*
Выполнение файла "пролетает" без видимых ошибок, но в результате все файлы остались на месте:


Отправлено: 16:34, 21-03-2016 | #14


Пользователь


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

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


dobermann, может быть так -
Код: Выделить весь код
forfiles /P "D:\666" /S /D -90 /C "cmd /c del /f /a /q @file"
в конце не
Код: Выделить весь код
@path
, а
Код: Выделить весь код
@file

Отправлено: 15:02, 24-03-2016 | #15



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Нужно удалить лог файлы старше 30 дней

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - Нужно быстро (!) добавить/удалить строку во все файлы указанной директории Possessed Скриптовые языки администрирования Windows 6 04-10-2011 22:29
[решено] Автоочистка файлов, старше 5 дней. Universal_gr Программное обеспечение Linux и FreeBSD 1 01-10-2010 01:12
Прочее - удаление файлов старше 10 дней admin666 Общий по Linux 1 23-07-2009 19:09
CMD/BAT - файлы вида mmdd*.* - для каждой даты нужно создать каталог, скопировать, файлы milito Скриптовые языки администрирования Windows 2 24-05-2009 23:32
Системные лог файлы Den13V Хочу все знать 4 21-03-2008 11:29




 
Переход