크론 없이 특정 시간에 스크립트를 실행하려면 어떻게 해야 합니까?

크론 없이 특정 시간에 스크립트를 실행하려면 어떻게 해야 합니까?

cron을 사용하지 않고 특정 시간에 스크립트를 실행하고 싶습니다. 하지만 작동하지 않습니다.

#!/bin/sh

DATE=`date | cut -d' ' -f4`

#Date is getting printed, if I run it manually, without any error. But file is not created at scheduled time.

echo $DATE

if [[ $DATE == "07:06:55" ]]
then
echo "this is a test program" >> xyz.log

fi

답변1

당신은 그것을 사용할 수 있습니다 at:

at -f "$script" 'now + 24 hours' &>/dev/null

예제와 함께 설명된 at 명령

나는 또한 이것을 발견했습니다:

watch -n <the time> <your command or program or executable>

웹에서 감시 명령

답변2

한 번만 실행하려면 at 명령을 사용하면 됩니다.https://en.wikipedia.org/wiki/At_(명령)

예:

echo "echo \"this is a test program\" >> /tmp/xyz.log" | at 1127 apr 11

매일 실행하려면 루프를 사용하는 것이 좋습니다.

#!/bin/bash

while true;
do
    DATE=`date | cut -d' ' -f4`
    echo $DATE
    if [[ $DATE == "11:33:00" ]]
    then
            echo "this is a test program" >> xyz.log
            sleep 1s
    fi
done

관련 정보