"at" 위치에 대한 사용자 정의 ID

"at" 위치에 대한 사용자 정의 ID

at나는 항상 특정 날짜와 시간에 이메일이 전송되도록 예약하는 습관을 갖고 있었습니다 . 문제는 내가 at실행하려는 명령이 작업 ID를 매개변수로 사용해야 하므로 명령을 생성하는 사람이 내가 되어야 한다는 것입니다. 게다가 at사용되는 것은 ID가 아니라 자동 증가 개수이므로 재설정할 때 걱정해야 합니다.

내 주요 쿼리는 맞춤 ID를 사용하여 새 위치를 만드는 것입니다. 이는 다음을 사용하여 작업을 생성할 때 echo "touch file" | at now + 1 minute다음과 같을 수 있음을 의미합니다 echo "touch file" | at -i <custom-id> now + 1 minute. 따라서 을 클릭하면 atq다음을 찾을 수 있습니다 <custom-id> Mon Feb 24 19:00:00 2020 a user.

그렇다면 OR을 사용하여 작업을 생성할 때 작업을 사용자 정의할 수 있는 방법이 있습니까? at아니면 더 확장성이 뛰어난 오픈 소스 대안이 있습니까?

답변1

at이 유형의 코드를 사용하여 제출된 작업 번호를 얻을 수 있습니다. 이 예제에서는 5분 동안만 대기하는 작업을 제출하므로 이를 조정해야 합니다. 제출 결과 at는 아래와 같 job 1175 at Mon Feb 24 18:28:00 2020으며 grep명령은 이와 일치하여 작업 번호를 추출합니다.

job=$( echo "sleep 300" | at now 2>&1 | grep -oP 'job\s+\K\d+' )
echo "The job identifier is $job"

작업 번호는 에 제출될 때까지 식별할 수 없습니다 at.

관련 정보