"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

실패할 경우 두 번째로 중지합니다.

$ 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분에 이메일을 보내시거나

> now + 40 minutes, 현재 시간보다 40분 빠르게 전송되었습니다.

관련 정보