2

stdout と stderr が表示されないようにしようとしていますが、正しい構文を取得できません。

root の .profile に 1 つのライナーがあり、root のログインがあるたびに私に電子メールを送信します。

netstat -antp | grep ESTABLISHED | grep -v 127.0.0.1 | mail -s "alert: root access on server" email@address.com 2>&1>/dev/null &

問題は、メールが送信された後、標準出力でこれを取得することです。

[1]+  Done  mail -s "alert: root access on server" email@address.com 2>&1 > /dev/null

メールが送信されたときにコマンドラインで何も表示したくないのですが、何が欠けていますか? 私もこれを試しましたが、うまくいきませんでした:

mail -s "alert: root access on server" email@address.com > /dev/null 2>&1 &

最後に「&」を付ける必要があります。そうしないと、ログインする前に約 30 秒一時停止します。

電子メールを送信し、stdout と stderr を非表示にし、バックグラウンド プログラムとして実行する方法についてのアイデアはありますか?

ありがとう!

4

1 に答える 1

1

(netstat -antp | grep ESTABLISHED | grep -v 127.0.0.1 | mail -s "alert: root access on server" email@address.com &)

于 2012-04-21T20:32:23.750 に答える