私のサーバーでは、/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)
/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
。