He escrito un pequeño script estático supresión de registro para mi, pero me preguntaba si existía una forma de hacer un script dinámico. aquí es como mi script trabaja en la actualidad.
Código:
#!/bin/sh
###########################################
#Script to zip logs older than 1 week old
#and to delete logs older than 30 days old
###########################################
#
##TEST
#
cd /opt/apache/test/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test1/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test2/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
echo "Script complete on `date +%D`."
Ahora para este script, simplemente tengo que copiar y pegar un nuevo bloque cuando creo un nuevo servidor Apache, pero me imaginé desde la estructura de directorio y archivo de registro de nombres son siempre los mismos, habría alguna manera de que pudiera añadir, en algunos real en esta lógica.
Posiblemente a cd / opt / apache /, hacer una lista, entonces de alguna manera una matriz y utilizar un lazo para capturar el nombre de cada directorio en el que una variable, y luego usar esa variable para ejecutar el comando find, hacer las 4 líneas, y luego si existe otro directorio repetir.