Networking如何使用
如何使用 at
安排一個需要 Eth0
介面才能啟動和執行的命令?
此處需要使用命令安排在某個日期發送一些電子郵件
at
,但首先需要確保 Eth0 介面已啟動並執行。我怎麼能那樣做?
目前使用已配置的 Mutt 郵件使用者代理。
只需添加資訊,如果 Eth0 在預定時刻關閉,它將不會發送電子郵件。
首先檢查 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
如果它關閉,第二個停止:
$ 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
前任。
$at now + 30 days
at> eth0chk02 at> mutt -s "DestinyEmail@xxxx.com" < EmailBody
Ctrl
+D
只需添加您可以通過多種不同方式設置日期和時間的資訊,如下所示:
> at 10:15 18 aug 2023
,用於在 2023 年 8 月 18 日 10:15 發送的電子郵件,或
> now + 40 minutes
, 比目前時間提前 40 分鐘發送。
要查看介面是 DOWN 還是 UP:
使用 GNU grep
ip link show | grep "eth0" | grep -oP "(?<=state )(\w+)"
輸出:
DOWN
或者
UP
或其他州…