it-swarm-ja.com

Apacheログファイルの生成

私のサーバーでは、/var/log/Apache2/の下でログが見つかりました。ログは数日前にaccess.logとして生成されましたが、ログは空です(アクセスログとエラーログの両方)。これは、サーバーで構成されているすべての仮想ホストで発生します。

そして、すべての新しいログがこの瞬間までaccess.log.1に追加されました。すべての新しいログをaccess.logおよびError.logファイルに追加する必要があります。

この問題のトラブルシューティング方法は?

/etc/logrotate.d/Apache2は次のとおりです。

/var/log/Apache2/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 644 root adm
    sharedscripts
    postrotate
            if [ -f "`. /etc/Apache2/envvars ; echo ${Apache_PID_FILE:-/var/run/Apache2.pid}`" ]; then
                    /etc/init.d/Apache2 reload > /dev/null
            fi
    endscript
}

編集: /etc/init.d/Apache2ファイルが数日前に空になったことを発見しました。どうすればよいのかわかりません!!、復元する方法はありますか?私のApacheバージョンは:Apache/2.2.12(Ubuntu)

1
MohammedSimba

/etc/logrotate.d/Apache2ファイルには、次のものが含まれています。

if [ -f "`. /etc/Apache2/envvars ; echo ${Apache_PID_FILE:-/var/run/Apache2.pid}`" ]; then
                /etc/init.d/Apache2 reload > /dev/null
fi 

. /etc/Apache2/envvars ; echo ${Apache_PID_FILE:-/var/run/Apache2.pid}は、最初にファイル/etc/Apache2/envvarsを調達することを意味し、変数Apache_PID_FILEが存在する場合、その値を出力します。これは、ApacheのPIDを含むファイルになります。変数が存在しない場合、デフォルトで値/var/run/Apache2.pidになります。

-f of test[)コマンドは、PIDの存在を確認することを示し、見つかった場合は次を実行します。

/etc/init.d/Apache2 reload > /dev/null

Apacheの設定を再読み込みします。

あなたの場合、ファイル/etc/init.d/Apache2が見つからないため、Apacheが設定を再ロードしていないため、logrotateの動作が正しくなく、/var/log/Apache/access.logおよび/var/log/Apache/error.log

2
heemayl