GNU/Linux >> Tutoriales Linux >  >> Ubuntu

/var/log/account/pacct se está volviendo demasiado grande, ¿dónde está Ckpacct (para ciclarlo/gzip)?

Tengo 2 archivos grandes en /var/log/account , de 350MB cada uno…, mi root es de solo 10GB…

Leí que podría tener ckpacct para completar un ciclo y gzip, pero no puedo encontrarlo, ¿tampoco hay un comando alternativo?

EDITAR :Encontré que sudo accton off deshabilite el registro pero los archivos permanecen allí, y supongo que mi próximo arranque se activará nuevamente...

Parece que están siendo ciclados, pero ¿quién lo hace realmente?

369114432 May 13 23:23 /var/log/account/pacct
333708160 May 13 12:27 /var/log/account/pacct.0
 13681065 May 12 16:21 /var/log/account/pacct.1.gz
  3371433 May 11 09:50 /var/log/account/pacct.2.gz
  7549333 May 10 07:35 /var/log/account/pacct.3.gz

EDITAR :Supongo que los scripts de arranque hacen el ciclo... de todos modos, creé este script, pero no sé qué implicaciones de seguridad puede tener... ¿alguna consideración?

cat >ckpacct.sh

#!/bin/bash

if [[ -n "$1" ]]; then
  echo "there is no parameters and no --help, read the script and understand what is does, before running it up."
  exit 1
fi

if [[ "$USER" != "root" ]]; then
    echo "you must be root to run it..."
    exit 1
fi

function FUNCerror() {
    if(($1!=0));then exit 1; fi
}

cd /var/log/account;FUNCerror $? || exit

# fast ungrab pacct file
accton off;FUNCerror $?

mv -v pacct pacct.0.temp;FUNCerror $?

echo -n |tee pacct;FUNCerror $?
chown -v root:adm pacct;FUNCerror $?
chmod -v o-r pacct;FUNCerror $?

accton on;FUNCerror $?

# compress old 0
gzip -v --best pacct.0;FUNCerror $? #releases also pacct.0 filename

mv -v pacct.0.temp pacct.0;FUNCerror $? #restore new 0 from temp

# change file names upping indexes
#mv -v pacct pacct.0
for((i=4;i>=0;i--));do
    mv -v pacct.$i.gz pacct.$((i+1)).gz;FUNCerror $?
done
rm -v pacct.5.gz;FUNCerror $? # remove last in the limit

Respuesta aceptada:

El script que cicla los registros está en /etc/cron.daily/acct . El número de archivos de registro está controlado por /etc/default/acct , que también controla si la contabilidad de procesos debe habilitarse en el momento del arranque.

Si desea eliminar por completo la contabilidad de procesos, sudo apt-get purge acct debería funcionar también.


Ubuntu
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. Debian – ¿Mover /var, /home a una partición separada?

  3. ¿Cómo evitar que los registros se vuelvan demasiado grandes?

  4. 20 archivos de registro de Linux que se encuentran en el directorio /var/log

  5. Cómo cambiar el directorio de registro predeterminado (/var/log) en Rsyslog para CentOS/RHEL 6,7

Django static_root en /var/www/... - sin permisos para recopilar estática

¿Cuándo debo usar /dev/shm/ y cuándo debo usar /tmp/?

Sintaxis del archivo de configuración logrotate:¿son posibles múltiples entradas comodín?

¿Deberían vivir los sitios web en /var/ o /usr/ según el uso recomendado?

¿Eliminar todo /var/log?

Los registros del sistema están vacíos (/var/log/messages; /var/log/secure; etc.)