CPU使用量を確認し、80%を超える場合はコマンドを実行してください。

CPU使用量を確認し、80%を超える場合はコマンドを実行してください。

私のVPSは何度もハッキングされ、ハッカーはここにCPU採掘機をインストールしました。マイナーが検出され、12時間以内に応答しない場合、ホスティングプロバイダはVPSを終了します。しかし、土曜日の夜21時に通知を送信することができます:)日曜日の午前9時にサーバーをシャットダウンすることができます。

そのため、CPU使用率と採掘者が常に書き込むブロックフォルダを監視したいと思います。

私はLinuxに慣れていないので、このようなスクリプトを提案してください。

  1. CPU使用量を確認し、80%を超える場合(たとえば)対処してください。
  2. 私の場合は、インストールフォルダからすべてのエントリを削除して読み取り専用にしました。

実際には、項目1を実装する方法がわかりません。

ベストアンサー1

同様の問題があり、bashこの短いスクリプトを完成しました。過去15分間の負荷平均を計算しています。他の時間範囲が必要な場合はそれを変更する必要があります(過去5分間の負荷平均を確認するにはに変更awkprint $1
これは相対的なCPU使用量を伝えます。

#!/bin/bash
cores=$(nproc) 
load=$(awk '{print $3}'< /proc/loadavg)
echo | awk -v c="${cores}" -v l="${load}" '{print "relative load is " l*100/c "%"}'

UbuntuとCentosで実行する必要があります。

負荷が80%を超えていることを確認して「何かをする」には、次のスクリプトに追加する必要があります。

usage=$(echo | awk -v c="${cores}" -v l="${load}" '{print l*100/c}' | awk -F. '{print $1}')
if [[ ${usage} -ge 80 ]]; then
    echo "delete all from install folder and make it read only"
fi

おすすめ記事