지정된 시간 범위 내에서 화면을 일시 정지하고 다시 시작하는 방법(스케줄)

지정된 시간 범위 내에서 화면을 일시 정지하고 다시 시작하는 방법(스케줄)

저는 Linux screen명령을 사용하여 서버에서 백그라운드 스크립트를 실행합니다. 스크립트는 매일 실행되어야 하지만 특정 시간 범위(오전 7시부터 오후 9시) 내에 실행되어야 합니다. 현재로서는 매일 밤 9시에 수동으로 종료하고 screen(명령 사용 ctrl+c) 다음날 아침 7시에 다시 생성합니다(명령 사용).exitscreenscreen -S <NAME>

screen오후 9시에서 오전 7시 사이에 "자동으로" 잠을 자는 방법이 있나요 ? (이렇게 하면 매일 수동으로 개입할 필요가 없습니다.)

답변1

나는 screen을 사용하지 않을 것이지만, 원한다면 다음과 같이 할 수 있습니다:

0 7 * * * some_user sh -c 'screen -d -m -S 7to9am -s /usr/local/bin/the_script.sh ; sleep 2h ; screen -X -S 7to9am quit'

끝에/etc/crontab

이것옳은이를 수행하는 방법은 화면 없이 하는 것입니다.
0 7 * * * some_user timeout 2h /usr/local/bin/the_script.sh

관련 정보