Надеюсь, вы можете помочь. Я пытаюсь решить эту проблему в течение недели, но никуда не денусь и не могу собрать воедино то, что мне нужно! - Мои навыки написания сценариев далеко не велики, поэтому, пожалуйста, прости мою наивность!
Хорошо, проблема ......
У меня есть сервер IIS с несколькими сайтами, которые все сохраняют свои журналы в отдельном каталоге, мне нужно скопировать журналы за последние 24 часа в локальный каталог на моем компьютере, чтобы я мог проанализировать их в Log Parser Lizard (GUI Version) на ежедневной основе.
Я могу подключить диск с удаленного сервера к моей локальной машине через аппаратную VPN, так что это немного облегчает задачу. С помощью команды forfiles я могу прокрутить каталоги, чтобы найти журналы, которые существуют только за день, а с помощью copy / xcopy / или Robocopy я могу задать команду для копирования. Моя проблема в том, что все журналы IIS имеют одинаковые имена, поэтому моя команда копирования просто перезаписывает предыдущий файл, а не создает новый файл. Я попытался использовать параметр% random% для имени файла, но при этом снова создается один случайный файл, который перезаписывается следующим файлом, сохраняя то же имя, а не создавая множество файлов со случайным именем в одном каталоге.
Я знаю, что команды Log Parser включают recurse, который я успешно использовал, однако формат журнала немного изменился, и ящерица GUI не может прочитать данные внутри, так что это не решение.
Мой код в его нынешнем виде показан ниже, а IP-адреса изменены по понятным причинам. Любая помощь будет принята с благодарностью!
@ эхо выключено
NET USE Q: / Удалить / да
NET USE Q: \ 255.255.255.255 \ D $ \ Logs
cd C:
RD / S / Q C: \ Weblogs \ Production
MD C: \ Weblogs \ Production
forfiles.exe / p Q: \ / s / m * .log / d 0 / c "cmd / c robocopy / S / XC / XN / XO @file C: \ Weblogs \ Production \% random% .log «
NET USE Q: / delete
выход