Bien Publico esto ya que una de las cosas que nos lleva mas labor y dolores de cabeza son los fulanos logs que nos sirven para poder establecer ciertas cooerencias en los programas o aplicciones que los usan, asi podemos detectar errores o posibles filtros de intrusos y demas cosas, Ademas nos permite no tener Logs de 50 o 300 MB lo cual son bastante dificiles de revisar.
NOTA1: Lastima que no se permiten subir (adjuntar) Archivos asi que tendre que copiar todo el código en el articulo asi que no se asusten por lo largo.
NOTA2: Se asume que
- * Este articulo esta basado en el servicio apache sobre windows instalado con wamp Server
- * Conocimiento basico sobre tareas programadas de windows
- * Conocimiento Básico sobre scripts por lotes .bat (shell de windows)
- * Todo lo anterior no es estricto puede leerlo y usarlo cualquiera que lo necesite y este interesado
- * Tambien pueden PM (private messaje) si lo desean o tienen algun problemilla si puedo con gusto les ayudo ^·^
Bien Comenzamos.
Notas preliminares
- * El archivo lo deben Guardar en la carpeta logs del apache o del Wamp server Ejemplo c:\wamp\logs\
- * El archivo lo pueden nombrar como ustes quieran (el codigo esta al Final)
- * Sugiero que hagan Backup de todos sus logs o la carpeta completa ^·^ (Por si acaso pasa algo, no se sabe) =D
- 1. Copiar el codigo que aparece al final para el archivo por lotes, y pegarlo en el Bloc de notas
- 2. Guardar el archivo con el nombre que les guste y con la extension .bat OJO revisen que no se grabe como .bat.txt si no no funciona tengan cuidado con eso, al guardar en el bloc de notas debe guardar como: tipo de archivo todos y le colocan la extension.
- 3. Una vez hecho eso lo Guardan en la carpeta de logs del apache ejemplo C:\wamp\logs\ (claro si usan wamp server)
- 4. Listo, ahora lo podemos probar (recordaron respaldar los datos? si: sigue; no: respalda entonces) dale doble click o seleccionalo y dale enter se ejecuta el script y lo veras trabajar y veras el resultado (abajo explico)
- 5. Bien listo?, Lo agregamos a las Tareas programadas, Abres el sistema de tareas programadas de windows, deberia estar, en Inicio->Programas->Accesorios->Herramientas de Sistea Tambien puede estar en las Herramientas Administrativas si es un Windows Server. Agrega una Nueva Tarea Selecciona el Archivo y le colocas el tiempo que quieras Ejemplo puede ser cada 2 o 3 dias o cada domingo de la semana, etc tu decides, Elije la hora y listo; yo le tengo a cda 3 dias ya que es bastante el trafico que tenemos, pero en temporada de baja lo coloco en cada 4 o 5 asi no se generan tantos archivos,
- 6. Listo Ya tienes la tarea ahora solo toca esperar la próxima Ejecución de la tarea.
(HAHAHA NOO no hace bakcports en el Servidor ni nada parecido =( por favor!!! )
Es simple, dado que el shell de lotes de windows no ofrece muchas opciones lo hice simple y bueno necesitab algo rápido, pero este script se puede mejorar e implementar en cualquier cosa un vbscript de windows, en php, en asp, en visual basic , VC++ ETC lo que quieran la idea es la básica, luego lo publicare en php puesto que me parece en nuestro caso es la herramienta que usamos, pues mucho mejor herramienta para esto.
Bien el funcionamiento:
- * Lo primero que hace es Detener el servicio de Apache claro si usas WAMPSERVER ese es el nombre del servicio de lo contrario deberias cambiarlo
- Código:
net stop "wampapache" >>cleanlog.log
- * Luego toma los Archivos principales del Apache estos son "Access.log", Apacheerror.log", "phperror.log" (en caso que usen php claro) y los renombra en "AccessN.log", "ApacheerrorN.log", "phperror_N.log", donde N: son numeros del 1 al 23, osea genera solo hasta 23 reslpdos consecutivos sin supervisión es decir hasta 23 veces ejecutado sin acordarte que esta eso funcionando, OJO se puede llevar facilmente a 30 o mas si quieres Da igual.
- * Luego de generar las Copias de los Archivos, los Elimina. los copia y elimina porque tuve algunos inconvenientes al renombrar y no funcionaba bien.
- * Por ultimo Reinicia el Servicio Apache Claro esta.
- Código:
net start "wampapache" >>cleanlog.log
- * Todo esto lleva un control en un Archivo llamdo cleanlog.log los Valores ">>" sirven para asignar al archivo el contenido de lo que hace asi que si ocurre algun error pues ahi lo ven asi que hace un log de lo que hace ^.^
Eso es todo, Facil.
CONSEJO Luego les Sujieron que cuando le hagan el mantenimiento osea "REVISEN", renombren los archivos logs con las fechas que tiene el archivo al ser creado o moficado como prefieran, y los guarden en unas carpetas con los nombres del mes; por ejmeplo: "Access10.log" lo renombran a "Access230609.log" y lo almacenan en la carpeta "Junio2009" asi tendran todo bien organizado, les ira mucho mucho mucho mejor...
Ahora Pueden modificar el script si desean para incrementar los numeros de respaldos generados, de la siguiente manera
la ultima linea que genera los numeros es
Código:
AGREGUEN otraif not exist "C:\wamp\logs\access_23.log" goto siguiente23
ejemplo
Código:
Luego Agregan una "etiqueta" asi le llaman como la que sigueif not exist "C:\wamp\logs\access_24.log" goto siguiente24
Código:
Eso lo agregan al Final de todas las demas eqiquetas que encontraran la ultima es la :Siguiente23:siguiente24 set n=24 GOTO Ejecutar
REFERENCIAS
WAMP SERVER
COMPRESION WEB EN APACHE