#!/bin/bash
at now +1 minutes -f ./test.sh
logFile="/home/.../testLog.txt"
time1="114000"
time2="153000"
currentTime=`date +"%H%M%S"`
echo "" >> "$logFile"
date >> "$logFile"
echo "$currentTime" >> "$logFile"
echo "" >> "$logFile"
if [[ "$currentTime" < "$time1" || "$currentTime" > "$time2" ]]
then
echo "case1" >> "$logFile"
else
echo "case2" >> "$logFile"
fi
이 스크립트는 test.sh
이라는 파일에 저장됩니다. 예를 들어 오후 5시에 실행하면 case1
이 로그 파일에 기록됩니다. 그러나 각각의 후속 at
호출 (매분마다 발생)에 대해 스크립트는 case2
을 내 로그 파일에 기록합니다. 이유를 설명해 주시겠습니까?시간을 요구하는 직장에서
이 스크립트는 1 분마다 자체 일정을 조정합니까? 대신 루프에서 또는 cron에서 실행하는 것을 고려 했습니까? –
@thatotherguy : 나는 직장에서 스크립트를 재귀 적으로 호출한다는 사실에 주목했다. – sjsam
@thatotherguy sjsam이 이미'at now +1 atm -f./test.sh'라는 줄을 설명했듯이 1 분 후에 재귀 적으로 스크립트를 호출하는 at 작업을 정의합니다. –