さて、Debianで実行されているプログラムを監視したいと思います。たとえば、私のインスタンスで複数のプログラムが実行されており、出力を取得し、プログラムnetstat -plnt
とそのポートが何であるかを確認できます。例:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 65/sshd
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 656/mysqld
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 631/redis-server
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1023/nginx
新しいプログラムが実行されたときに電子メール/スラック通知を受け取りたいです。誰かがこれを行うことができるユーティリティやプログラムを知っていますか?
ベストアンサー1
#! /bin/bash
while :; do
running=$(netstat -plnt)
if [ "$running" != "$newrunning" -a -n "$firstrun" ]; then
diff -u <(echo "$newrunning") <(echo "$running") | mail -s "New listeners!" [email protected]
fi
newrunning=$(netstat -plnt)
firstrun=1
sleep 1
done
このスクリプト(明らかにルートで実行する必要があります)は、受信ポートを開く新しいアプリケーション/削除されたアプリケーションについて説明します。