Script automatisé pour compresser les journaux IIS?
Je voudrais écrire un script/batch qui va bouquet ma vie de tous les journaux IIS et zip par mois.
ex080801.journal de ce qui est dans le format de l'exaammjj.journal
ex080801.journal - ex080831.journal obtient zippée et les fichiers journaux supprimés.
La raison pour laquelle nous faisons cela parce que sur un site lourd d'un fichier journal pour une seule journée pourrait être de 500 mo à 1 go de sorte que nous zip, ce qui comprime de 98% et de vider le fichier journal réel. Nous utilisons webtrend pour analyser les fichiers journaux et il est capable de lire dans un fichier zip.
Quelqu'un a une idée sur comment le script de ce ou seraient prêts à partager un peu de code?
source d'informationauteur RedWolves
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'un outil de ligne de commande pour compresser des fichiers. Je recommande 7-Zip qui est gratuit et facile à utiliser. La version en ligne de commande (7za.exe) est le plus portable choix.
Voici un les deux de la ligne de lot fichier zip les fichiers journaux et les supprimer par la suite:
Le premier paramètre est le numéro à 4 chiffres de l'année et le mois, et le second paramètre est le chemin vers le répertoire contenant vos journaux. Par exemple:
ziplogs.bat 0808 c:\logs
Il est possible d'obtenir plus élaborée (c'est à dire rechercher les noms de fichiers pour déterminer les mois à archiver). Vous pourriez vouloir vérifier la Windows FINDSTR de commande pour la recherche d'entrée de texte avec des expressions régulières.
Voici mon script qui fondamentalement s'adapte de David, et les zips des derniers mois, les journaux, les déplace et supprime l'original des fichiers journaux. ce peut être adapté pour les logs Apache.
Le seul problème avec cela est que vous pouvez avoir besoin de modifier le remplacer les commandes, si votre DOS en fonction de la date des résultats date de la semaine.
Vous aurez également besoin d'installer 7-zip.
Vous pouvez également télécharger IISlogslite mais il resserre chaque jour de fichiers dans un seul fichier zip que je n'ai pas trouver utile. Il s'agit d'un vbscript flottant sur le web qui fait la même chose.
Nous utilisons un script comme suit. Gzip est à partir de cygwin projet. Je suis sûr que vous pourriez modifier la syntaxe à utiliser un zip outil à la place. La fonction "ignorer" l'argument est le nombre de fichiers à ne pas archives, nous gardons 11 jours dans le répertoire "current".
Vous pouvez récupérer les utilitaires de ligne de commande d'un package à partir DotNetZip pour obtenir des outils pour créer des zips à partir de scripts. Il y a un joli petit outil appelé Zipit.exe qui s'exécute sur la ligne de commande, ajoute des fichiers ou des répertoires pour les fichiers zip. Il est rapide, efficace.
Une meilleure option pourrait être de faire de la compression de l'intérieur PowerShell.
Emprunté zip fonction de http://blogs.msdn.com/daiken/archive/2007/02/12/compress-files-with-windows-powershell-then-package-a-windows-vista-sidebar-gadget.aspx
Voici powershell réponse qui fonctionne à merveille:
Nous utiliser ce script powershell: http://gallery.technet.microsoft.com/scriptcenter/31db73b4-746c-4d33-a0aa-7a79006317e6
Il utilise 7-zip et verifys les fichiers avant de les supprimer
Regex fera l'affaire... créer un perl/python/php script pour faire le travail pour vous..
Je suis sûr que windows fichier de commandes ne peut pas faire regex.