at 데몬은 훌륭한 도구입니다! 그러나 작업이 오전 8시로 예약되어 있고 해당 시간에 컴퓨터가 꺼져 있으면 컴퓨터가 시작될 때마다 작업이 실행됩니다. 내가 하고 싶은 것은 시간이 지나면 작업 실행을 중지하는 것입니다. 매뉴얼 페이지와 온라인을 검색했지만 답변이 없거나 찾을 수 없습니다. 저는 Arch를 사용하고 있지만 제가 아는 한 배포판 전체에서 매우 유사합니다.
어떤 도움이라도 대단히 감사하겠습니다!
답변1
직업은 언제 과거의 직업이 되는가? 7시 59분 50초에 시스템을 켜고 at
데몬이 시작되면 8:00:01
작업을 실행해야 합니까? 데몬이 7:59:59에 시작하지만 모든 파일을 읽는 데 2초가 걸린다면 어떻게 될까요?
당신이 결정하세요! 작업 시작시 시간을 확인하시고, 시간이 지나면 작업을 중단하세요.
export execute_by_date=$(date +%s 'tomorrow 8:01')
at tomorrow 8:00
[ "$(date +%s)" -le "$execute_by_date" ] || exit
do_stuff
␄
답변2
종료하거나 다시 시작할 때 예약된 모든 작업을 취소하는 초기화 스크립트를 작성할 수 있습니다.
Arch-Linux에 대해서는 잘 모르겠습니다. /etc/sysconfig/at
비슷한 것이 있습니까? 어쩌면 뒤집어야 하는 구성 스위치일 수도 있습니다.
답변3
나는 cron
데몬에 투표한다.
매일 같은 시간이 아닌 특정 시간에 실행해야 하는 경우 일일 범위 항목과 특정 실행 시간을 사용하여 crontab을 생성합니다.
다음에서 가져온 몇 가지 예 crontab(5)
:
# run five minutes after midnight, every day
5 0 * * * command
# run at 2:15pm on the first of every month
15 14 1 * * command
# run at 10 pm on weekdays
0 22 * * 1-5 command
답변4
당신이 원하는 것은 cron 데몬입니다. 그것은 당신이 요청한 것을 정확하게 수행합니다.
즐겨찾는 검색 엔진에 피드 제공예약된 작업 데몬설명서와 지침이 많이 있습니다. man cron
또한 man crontab
매우 도움이 됩니다.