削除されたが開いたログファイルを解放します。

削除されたが開いたログファイルを解放します。

私のDebianサーバーディスクは、大きなpostgresqlログファイルのためにいっぱいです。削除しましたが、まだpostgresqlに保存されています。 postgresqlを再起動すると、ディスクがいっぱいになってソフトウェアを起動できないため、エラーが発生します。以下は、lsof + L1を使用してリストされているファイルです。

COMMAND     PID     USER   FD   TYPE DEVICE    SIZE/OFF NLINK    NODE NAME
testproxy 22712 postgres    2w   REG    8,1 15309393920     0 1184540 /tmp/postgresql-9.4-main.log (deleted)

私は他のスレッドによって提案されたいくつかのコマンドを試しましたが、うまくいきません。 postgresqlを再起動するのがうまくいかないことを覚えていて、このファイルを削除する方法を提案できる人はいますか?

ありがとうございます!

ベストアンサー1

友人よ、あなたにはディスク不足よりも大きな問題があります!

これは PostgreSQL の大きなオブジェクトを悪用するユーザー定義関数の脆弱性です。 (lo_) 関数です。

私のサーバーでは、ポート80を介してbaby0119.comのプロキシを生成するトロイの木馬です。 postgresポート5432を介してpostgresユーザーとしてインストールされます。

"postgres"データベースに "exec111"という関数があることを確認してください。 \df+exec111。

この機能を削除してpg_hba.conf、ファイアウォールなどを強化してください。

また、実行されたコマンドまたはエラーのpostgresqlログを確認してください。

/ tmpのボックスで見つかったファイルは次のとおりです。

  • 6年12月7日 11:37 sjkpppp
  • 961472 12月7日 16:36 testproxy6
  • 8088 12月7日 16:36 testproxy.so

postgresサーバーで実行されているWebサーバーがある場合は、Webアクセスログを確認して、「proxytest」やプロキシのgrepなどを確認してください。

おすすめ記事