「Eth0」インターフェイスを実行する必要があるコマンドをスケジュールするために「at」を使用するにはどうすればよいですか?

「Eth0」インターフェイスを実行する必要があるコマンドをスケジュールするために「at」を使用するにはどうすればよいですか?

atここでは、コマンドを使用して特定の日付にいくつかの電子メールが送信されるようにスケジュールする必要がありますが、まずEth0インターフェイスが実行されていることを確認する必要があります。

どうすればいいですか?

現在設定されているMuttメールユーザーエージェントを使用しています。

次の情報を追加するだけです。 Eth0がスケジュールされた瞬間にダウンした場合、電子メールは送信されません。

答え1

インターフェイスが DOWN か UP かを確認します。

GNU grepの使用

ip link show | grep "eth0" | grep -oP "(?<=state )(\w+)"

出力:

DOWN

または

UP

または別の状態...

答え2

まず、Eth0(有線)接続が実行されていることを確認してください。

$ nano eth0ch.sh

#!/bin/bash
if grep -Fxq "up" /sys/class/net/eth0/operstate
        then echo "Eth0 Up"
        else echo
fi
exit 0

$ sudo chown root:root eth0ch.sh

$ chmod +x eth0ch.sh

にコピー/usr/bin

$ sudo cp eth0ch.sh /usr/bin/eth0ch

失敗した場合は2番目に停止します。

$ nano eth0chk02.sh

#!/bin/bash

until [[ -n "$(eth0chk)" ]]; do
sleep 1
done
exit 0

$ sudo chmod +x eth0chk02.sh

$ sudo chown root:root eth0chk02.sh

/usr/binにコピー

$ sudo cp eth0ch.sh /usr/bin/eth0chk02

これらのメール予約を開始するには、次の手順を実行します。

$at Scheduletime

前任者。

今$ + 30日

at> eth0chk02
at> mutt -s "[email protected]" < EmailBody

Ctrl+D

次のようなさまざまな方法で日付と時刻を設定できる情報を追加するだけです。

> at 10:15 18 aug 2023、2023年8月18日10:15にEメールを送信する

> now + 40 minutes、現在時刻より40分早く送信されました。

関連情報