web-dev-qa-db-ja.com

access_logは巨大で、アーカイブされていません。それをリセットする方法は?

Access_logがHDDの大部分を占めていることを発見しました。サイズは200GBを超えています。どうすればリセットできますか?

Pleskを搭載したCentOSサーバーでApache2.2.3を使用しています。

君たちありがとう !

11
user290367

knx'answerは良いですが、ログの名前を変更して新しいログを作成することをお勧めします。これにより、アクセスログが圧縮されるのを待たずにApacheを再起動できます。これは、ログが大きい場合は時間がかかることがあります。

sshにアクセスする必要があります

まず、現在のログファイルの名前を変更します。

mv /var/log/Apache/access.log /var/log/Apache/access.log.1

次に、新しいログファイルを作成し、元のログファイルと同じ権限、所有者/グループ、およびselinuxコンテキストを付与します。

touch /var/log/Apache/access.log
chown --reference=/var/log/Apache/access.log.1 /var/log/Apache/access.log
chmod --reference=/var/log/Apache/access.log.1 /var/log/Apache/access.log
restorecon --reference=/var/log/Apache/access.log.1 /var/log/Apache/access.log

(おそらくそれを行うにはルートである必要があります)

次に、Apacheを再起動します

次に、古いファイルをgzipで圧縮します(テキストファイルの圧縮率は非常に優れています)。ファイルの名前が/var/log/Apache/access.logであると仮定すると、次のようになります。

gzip -c /var/log/Apache/access.log.1 > /var/log/Apache/access.log.1.gz

これらの4つのポイントは、logrotateが自動的に行うことです。

16
Thomas

SSHでサーバーにアクセスできる場合は、次のことができます。

1)古いファイルをgzipで圧縮します(テキストファイルの圧縮率は非常に優れています)。ファイルの名前が/var/log/Apache/access.logであると想定する場合は、次のようにします。

gzip -c /var/log/Apache/access.log > /var/log/Apache/access.log.gz

2)現在のファイルをクリアします

echo > /var/log/Apache/access.log

3)Apacheを再起動します

また、Dezが提案しているように、本番グレードのApacheログアーカイブにlogrotateを使用することを検討してください。

7
knx

ログ、特にApache関連のログをクリーンに維持するには、logrotateデーモンを使用します。

Logrotateに関する簡単な情報: http://www.scriptinstallation.in/logrotate.html

5
Dez

私はこの投稿が古くからあることを知っていますが、私は同じ問題を抱えていて、それを正しくカバーする答えはありません。

重要なのは、Apacheがその構成に従ってファイルをaccess_logとして作成することです。ただし、logrotateは*.logのみを検索するため、名前は検索パターンと一致しません。

解決策:*_logをlogrotate構成に追加するか、Apache構成を変更してaccess.logという名前のログファイルを作成するようにします。 Apache構成を変更するには、Apacheをリロードする必要があります。

2
rexkogitans

簡単な解決策は、disableaccess_logで、構成ファイルの1行だけにコメントを付けることです。

出典: https://www.mydigitallife.info/how-to-disable-and-turn-off-Apache-httpd-access-and-error-log/

Pleskユーザーの場合: https://stackoverflow.com/a/41000240/179224

1
Davide

Ubuntuの場合:

Sudo su
cd /var/log/Apache2
rm access.log
rm error.log
touch access.log

そのアクセスログを作成すると、魔法のようにエラーログも開始されます。

1
malhal

ファイルの名前を変更し、新しいaccess_logを作成してから、Apacheを再起動します。

0
Liam

ファイルの名前を別のファイル名に変更し、access_logという名前の新しいファイルを作成してApacheを再起動します(そうしないと、Apacheはファイルのロックを維持し、ファイルの変更を「認識」しません)

0
YOU