![지정된 시간 범위 내에서 화면을 일시 정지하고 다시 시작하는 방법(스케줄)](https://linux55.com/image/176002/%EC%A7%80%EC%A0%95%EB%90%9C%20%EC%8B%9C%EA%B0%84%20%EB%B2%94%EC%9C%84%20%EB%82%B4%EC%97%90%EC%84%9C%20%ED%99%94%EB%A9%B4%EC%9D%84%20%EC%9D%BC%EC%8B%9C%20%EC%A0%95%EC%A7%80%ED%95%98%EA%B3%A0%20%EB%8B%A4%EC%8B%9C%20%EC%8B%9C%EC%9E%91%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95(%EC%8A%A4%EC%BC%80%EC%A4%84).png)
저는 Linux screen
명령을 사용하여 서버에서 백그라운드 스크립트를 실행합니다. 스크립트는 매일 실행되어야 하지만 특정 시간 범위(오전 7시부터 오후 9시) 내에 실행되어야 합니다. 현재로서는 매일 밤 9시에 수동으로 종료하고 screen
(명령 사용 ctrl+c
) 다음날 아침 7시에 다시 생성합니다(명령 사용).exit
screen
screen -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