RTC 확인

cat /proc/driver/rtc

스크립트 작성 shutwake.sh

#!/bin/bash
 
# 전원 켜기 설정할 시간 (예: 매일 오전 7시) 
WAKE_HOUR=9
WAKE_MIN=0
 
# 현재 날짜 가져오기
CURRENT_DATE=$(date +%Y-%m-%d)
 
# 다음 부팅 시간을 설정 (내일로 설정)
WAKE_TIME="$CURRENT_DATE $WAKE_HOUR:$WAKE_MIN:00"
WAKE_TIMESTAMP=$(date -d "$WAKE_TIME" +%s)
 
# 현재 시간이 이미 지정한 시간 이후라면 다음 날로 설정
CURRENT_TIMESTAMP=$(date +%s)
if [ "$CURRENT_TIMESTAMP" -gt "$WAKE_TIMESTAMP" ]; then
    WAKE_TIMESTAMP=$(date -d "$CURRENT_DATE + 1 day $WAKE_HOUR:$WAKE_MIN:00" +%s)
fi
 
# RTC에 알람 설정
echo 0 > /sys/class/rtc/rtc0/wakealarm  # 기존 알람 삭제
echo $WAKE_TIMESTAMP > /sys/class/rtc/rtc0/wakealarm
 
# 설정 확인
echo "RTC Wake Alarm set for: $(date -d @$WAKE_TIMESTAMP)"
 
systemctl poweroff

실행권한 부여 chmod +x shutwake.sh

크론 등록 crontab -e

0 1 * * * ~root/shutwake.sh