IT 관련/우분투(Ubuntu) 이것저것

Ubuntu 5분단위 시스템 온도 기록 스크립트

islet2 2025. 4. 7. 13:48

온도를 5분 간격으로 기록하는 간단한 쉘 스크립트를 만들어 백그라운드에서 실행할 수 있습니다. 다음과 같은 방법으로 구현할 수 있습니다:

온도 로깅 스크립트 만들기

  1. 먼저 스크립트 파일을 생성합니다:

    nano ~/temp_logger.sh
  2. 다음 내용을 입력합니다:

    #!/bin/bash
    
    LOG_FILE="$HOME/temperature_log.txt"
    
    # 8시간이나 특정시간 만큼하려면 아래의 주석을 이용하면 될 듯
    # END_TIME=$(($(date +%s) + 8*60*60))  # 현재 시간 + 8시간(초 단위)
    
    while ture; do
    # while [ $(date +%s) -lt $END_TIME ]; do # 특정시간 사용시
       TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
       TEMP_C=$((TEMP/1000))
       DATE=$(date "+%Y-%m-%d %H:%M:%S")
       echo "$DATE: ${TEMP_C}°C" >> $LOG_FILE
       sleep 300  # 5분(300초) 대기
    done
  1. 스크립트에 실행 권한을 부여합니다

    chmod +x ~/temp_logger.sh

백그라운드에서 실행하기

nohup ~/temp_logger.sh &

로그 파일 확인하기

로그 파일을 확인하려면 다음 명령어를 사용합니다:

cat ~/temperature_log.txt

또는 실시간으로 확인하려면:

tail -f ~/temperature_log.txt

이 방법으로 시스템 온도를 5분 간격으로 기록하고 나중에 분석할 수 있습니다.

  • crontab에서 */5는 "5분마다"를 의미합니다. 즉, 매 시간의 0분, 5분, 10분, 15분... 등 5분 간격으로 명령을 실행합니다.

  • 8시간 동안만 기록하려면 주석을 참고하세요.

백그라운드 실행을 종료하는 방법:

ps aux | grep temp_logger.sh

실행 중인 프로세스 ID(PID)를 찾은 후(grep 명령어가 없는 PID)

kill [PID]