
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分早く送信されました。