일 이상이면 가동 시간과 이메일을 계산해 보세요.

일 이상이면 가동 시간과 이메일을 계산해 보세요.

cron매일 실행(작업)하고, 시스템 가동 시간(일만)을 계산하고, 숫자가 정의된 값(예: 30)보다 큰 경우 이메일( uname -a) 을 통해 시스템 정보를 보내는 스크립트를 생성해야 합니다 . 특정 주소(예: )까지의 일수입니다 [email protected].

나는 계산을 수행하고 조치를 취할 수 있는 날짜로 변환하려고 노력하면서 길을 잃었습니다. 사용을 시작하다

uptime | grep -o "up.*day"

명령을 내리다가 막혔습니다. CentOS 7.8을 사용합니다.

도움을 주셔서 미리 감사드립니다!

답변1

문서는 man uptime이 조각을 제공합니다

-s, --since- 시스템 시작 이후 yyyy-mm-dd HH:MM:SS포맷

이렇게 하면 카운트가 시작된 절대 날짜/시간을 얻을 수 있습니다.

uptime -s
2020-02-12 12:37:16

현재 날짜/시간에서 이 값을 빼면 일수가 나옵니다. (날짜 계산은 일반적으로 초 단위이므로 약간 복잡합니다.)

# Seconds at boot
secSince=$(date --date "$(uptime -s)" +%s)

# Seconds now
secNow=$(date +%s)

# Difference
secInterval=$((secNow - secSince))

# Convert to days
daysInterval=$((secInterval / (60*60*24)))

echo "$daysInterval day(s) uptime"

계산된 간격에 윤초가 추가되면 보고된 날짜는 현지 자정에서 1초씩 다를 수 있습니다.

관련 정보