Archiviazione dei log di IIS con un file batch

Bè, non sono certo un mago dei file batch, ma questo scriptino mi ha aiutato parecchio ad automatizzare l’archiviazione periodica dei log di IIS.
Io di solito lo lancio come operazione pianificata, e masterizzo il prodotto per archiviazione.

Lo script richiede robocopy per copiare i files e winrar per comprimerli, per usarlo basta copiare quanto sta qui sotto e configurare le parti mancanti a seconda delle vostre esigenze.
Ovviamente è possibile applicarlo a diversi tipi di log configurando semplicemente robocopy per prenderli in maniera corretta, e adattando i parametri usati per rinominare i file, oppure è possibile usarlo su diversi server semplicemente copiando tutte le parti quante volte serve e configurandole come conviene.
Ho inserito le varie spiegazioni nei commenti, non dovrebbe essere difficile capire di che si tratta.. almeno spero :D

@echo off

REM LOGIN-SUI-SERVER
REM Mi autentico sul server prima di iniziare

REM -------------------Login su Server1----------------------------
NET USE \\xxx.xxx.xxx.xxx password /user:administrator

REM COPIA-FILES
REM Copio i files dai server con robocopy (http://en.wikipedia.org/wiki/Robocopy)
REM attenzione all'opzione /MOV che elimina i files dalla sorgente dopo la copia
robocopy \\xxx.xxx.xxx.xxx\nome_della_condivisione\LogWeb\ c:\tmp\logweb\server1\ *.log /E /MOV /MINAGE:1 /LOG+:log.txt

REM RINOMINO I FILES E LI COMPRIMO
REM Vado nella directory dove ho copiato i files
cd c:\tmp\logweb\server1

REM Rinomino i files di log come NOMESITO_NOMEFILE
REM in modo da memorizzare nel nome sia il nome del sito
REM sia la data del file di log
REM (utilizzo /b/s per estrarre il path pulito dalle directory
REM e scelgo i token che mi interessano dal path)
REM riadatta questa linea a seconda del path che hai
REM per informazioni su "for /f" vedi http://www.computerhope.com/forhlp.htm#03
FOR /F "tokens=1-7 delims=\" %%B IN ('DIR /B /S *.log') do rename %%B\%%C\%%D\%%E\%%F\%%G\%%H %%F_%%H

REM Compatto con winrar singolarmente (winrar -a) i files di log
REM escludendo le informazioni sul path(-ep) e testo l'archivio creato (-t)
REM con -ibck eseguo in background il processo.
FOR /F "tokens=*" %%G IN ('DIR /B /S *.log') DO c:\programmi\winrar\winrar -ibck A -ep -t -m4 "%%~nG".rar "%%G"

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: