質問: 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)
回答: /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。