종종 컴퓨터가 단일 작업을 수행하기를 원하지만 지금은 그렇지 않습니다. 예를 들어, 퇴근 할 시간임을 30 분 안에 알려주도록 할 수 있습니다. 아니면 다른 대부분의 사람들이 사무실에서 퇴근 할 것이라고 확신 할 수있는 지금부터 2 시간 후에 복잡한 테스트를 실행하고 싶을 수도 있습니다.
나는 특정 시간에 실행할 크론 작업을 만들 수 있다는 것을 알고 있지만, 내가 원하는 모든 것이 “이 스크립트를 10 분 안에 실행하십시오”와 같은 단순한 작업 일 때 많은 작업처럼 보입니다. 실제로 지금부터 X 분 / 시간 / 일이되는 시간을 확인한 다음 완료되면 cron 작업을 삭제하십시오.
물론이 스크립트를 작성하고 백그라운드에서 실행할 수 있습니다.
sleep X
do_task
그러나 그것은 매우 어리석은 것처럼 보입니다 : 나는 각 작업에 대해 새로운 스크립트가 필요하거나 몇 분 안에 몇 초가 걸리는지 언급하지 말고 내가 원하는 것을 할 수있는 일반적인 스크립트를 작성하고 유지해야합니다. 몇 시간 또는 내가 원하는 날.
이 문제에 대해 이미 확립 된 해결책이 없습니까?
답변
나는 간단한 스크립트를 사용한다 at
:
#!/bin/bash
# email reminder notes using at(1)...
read -p "Time of message? [HH:MM] " time
read -p "Date of message? [dd.mm.yy] " date
read -p "Message body? " message
at "$time" "$date" <<EOF
echo "$message" | mailx -s "REMINDER" me@gmail.com
EOF
당신은 할 수 그냥 쉽게 파이프로 $message
에 notify-send
또는 dzen
당신이 데스크톱 알림 대신 이메일을 원하는 경우.
답변
사용하는 일반적인 방법 at
은
원하는 것을하는 스크립트를 작성하십시오. 모든 외부 명령에 대한 전체 경로를 사용하거나 출력을 적절한 로그 파일로 보내거나 우편으로 보내십시오.
스크립트를 테스트하십시오.
로 활성화 at -f YOURSCRIPT -t MMDDhhmm