GNU/Linux >> Linux の 問題 >  >> Ubuntu

/ var / log / account / pacctが大きくなりすぎていますが、Ckpacctはどこにありますか(Cicle / gzipに)?

/var/log/accountに2つの大きなファイルがあります 、それぞれ350MB…、私のルートはたった10GBです…

ckpacctがある可能性があると読みました サイクルしてgzipで圧縮しますが、見つかりません。代替コマンドもありませんか?

編集sudo accton offが見つかりました ロギングを無効にしますが、ファイルはそこに残ります。次回の起動で再びアクティブになると思います…

それらは循環しているように見えますが、実際に誰がそれを行いますか?

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

編集 :私の推測では、ブートスクリプトがサイクルを実行します...とにかく、私はこのスクリプトを作成しましたが、しかし、それがどのような安全上の影響を与える可能性があるのか​​わかりません..考慮事項はありますか?

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

承認された回答:

ログを循環させるスクリプトは、/etc/cron.daily/acctにあります。 。ログファイルの数は、/etc/default/acctによって制御されます。 、これは、ブート時にプロセスアカウンティングを有効にするかどうかも制御します。

プロセスアカウンティングを完全に削除する場合は、sudo apt-get purge acct トリックも行う必要があります。


Ubuntu
  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. /var/log/messages、/var/log/syslog、および/var/log/kern.logの違いは?

  3. / var / log内のすべてを削除した後、ローカルネットワークに接続できませんか?

  1. Debian – / var、/ homeを別のパーティションに移動しますか?

  2. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

  3. システム ログが空です (/var/log/messages; /var/log/secure; など)

  1. Kubuntuがログイン時にエラーを表示する(file:///usr/share/sddm//themes/breeze/main.qml:noそのようなファイルまたはディレクトリ)?

  2. どのスクリプトが/var/log/auth.logをローテーションしますか?

  3. ログが大きくなりすぎるのを防ぐ方法は?