GNU/Linux >> Belajar Linux >  >> Ubuntu

/var/log/account/pacct Menjadi Terlalu Besar, Di Mana Ckpacct (ke Cicle/gzip)?

Saya mendapat 2 file besar di, /var/log/account , masing-masing 350MB…, root saya hanya 10GB…

Saya membaca mungkin ada ckpacct untuk menggilir dan gzip, tetapi saya tidak dapat menemukannya, juga tidak ada perintah alternatif?

EDIT :Saya menemukan bahwa sudo accton off nonaktifkan logging tetapi file tetap ada, dan saya kira boot saya berikutnya akan diaktifkan lagi…

Mereka sepertinya sedang bersepeda tapi siapa yang melakukannya?

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

EDIT :skrip boot tebakan saya melakukan siklus… bagaimanapun, saya membuat skrip ini, tetapi saya tidak tahu apa implikasi keamanannya.. ada pertimbangan?

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

Jawaban yang Diterima:

Skrip yang menggilir log ada di /etc/cron.daily/acct . Jumlah file log dikendalikan oleh /etc/default/acct , yang juga mengontrol apakah akuntansi proses harus diaktifkan saat boot.

Jika Anda ingin sepenuhnya menghapus akuntansi proses, sudo apt-get purge acct harus melakukan trik juga.


Ubuntu
  1. Debian – Memindahkan /var, /home Untuk Memisahkan Partisi?

  2. Perbedaan Antara /var/log/messages, /var/log/syslog, Dan /var/log/kern.log?

  3. Skrip Mana yang Memutar /var/log/auth.log?

  1. Bagaimana Mencegah Log Menjadi Terlalu Besar?

  2. 20 File Log Linux yang Terletak di Direktori /var/log

  3. CentOS / RHEL :Cara memutar file /var/log/wtmp dan /var/log/btmp menggunakan logrotate

  1. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  2. Kubuntu Menunjukkan Kesalahan Saat Masuk (file:///usr/share/sddm//themes/breeze/main.qml:no File Atau Direktori Tersebut)?

  3. unix:///var/run/supervisor.sock tidak ada file seperti itu