스크립트 실행 시간 간격 지정

스크립트 실행 시간 간격 지정

이 bash 스크립트가 있습니다.

while [[ 1 ]] ; do sleep 3600 ; ./notify.sh --text "ricordati di bere" && play /mnt/musica/login.wav && zenity --info --text="<span size=\"xx-large\">Time is $(date +%Hh%M).</span>\n\nricordati di <b>bere</b>." --title="drink time" ; done  

이 스크립트를(8시부터 덜 중요함) 19시(가장 중요)까지 실행하고 싶습니다. 이것이 가능합니까? 명령을
보았지만 at"until" 또는 "before"를 설정하는 방법을 찾지 못했습니다.

이 질문은 다음과 다릅니다.이것

답변1

예약을 위해 cron을 사용할 수 있습니다. 일정은 다음과 같습니다

0 8-19 * * * /path/to/script

또는

0 8,9,10,11,12,13,14,15,16,17,18,19 * * * /path/to/script

스크립트는 다음과 같습니다

#!/bin/sh

./notify.sh --text "ricordati di bere" &&
play /mnt/musica/login.wav &&
zenity --info \
    --text="<span size=\"xx-large\">Time is $(date +%Hh%M)</span>\n\nricordati di <b>bere</b>." \
    --title="drink time"

여러분도 구경해 보세요”쉘 스크립트를 통해 10분마다 이메일을 보내는 방법은 무엇입니까?"

답변2

Linux를 사용한다고 가정하면,정지시키다가장 간단한 방법입니다. 08:00부터 19:00까지는 11시간이므로 11시간 동안 스크립트를 실행하도록 timeout을 지정합니다.

timeout 11h /home/username/script

08:00에 cron을 사용하여 작업을 시작하고(또는 원하는 경우 수동으로 시작) 정확히 19:00에 다른 cron 항목을 사용하여 자동으로 종료합니다.

kill -9 /home/username/script

관련 정보