Ich habe 2 große Dateien unter /var/log/account
, von jeweils 350 MB…, mein Root hat nur 10 GB…
Ich habe gelesen, es könnte ckpacct
haben zu radeln und zu gzip, aber ich kann es nicht finden, auch kein alternativer Befehl?
BEARBEITEN :Ich habe dieses sudo accton off
gefunden Deaktivieren Sie die Protokollierung, aber die Dateien bleiben dort, und ich denke, beim nächsten Start wird sie wieder aktiviert ...
Sie scheinen gefahren zu werden, aber wer macht das eigentlich?
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
BEARBEITEN :Meine Vermutung Boot-Skripte macht den Zyklus… Wie auch immer, ich habe dieses Skript erstellt, aber ich weiß nicht, welche Sicherheitsauswirkungen es haben könnte.. irgendwelche Überlegungen?
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
Akzeptierte Antwort:
Das Skript, das die Protokolle durchläuft, befindet sich in /etc/cron.daily/acct
. Die Anzahl der Protokolldateien wird durch /etc/default/acct
gesteuert , die auch steuert, ob die Prozessabrechnung beim Booten aktiviert werden soll.
Wenn Sie die Prozessabrechnung vollständig entfernen möchten, sudo apt-get purge acct
sollte auch funktionieren.