미래에 단일 이벤트가 발생하도록 예약하는 간단한 방법은 무엇입니까?


15

종종 컴퓨터가 단일 작업을 수행하기를 원하지만 지금은 그렇지 않습니다. 예를 들어, 퇴근 할 시간임을 30 분 안에 알려주도록 할 수 있습니다. 아니면 다른 대부분의 사람들이 사무실에서 퇴근 할 것이라고 확신 할 수있는 지금부터 2 시간 후에 복잡한 테스트를 실행하고 싶을 수도 있습니다.

나는 특정 시간에 실행할 크론 작업을 만들 수 있다는 것을 알고 있지만, 내가 원하는 모든 것이 "이 스크립트를 10 분 안에 실행하십시오"와 같은 단순한 작업 일 때 많은 작업처럼 보입니다. 실제로 지금부터 X 분 / 시간 / 일이되는 시간을 확인한 다음 완료되면 cron 작업을 삭제하십시오.

물론이 스크립트를 작성하고 백그라운드에서 실행할 수 있습니다.

sleep X
do_task

그러나 그것은 매우 어리석은 것처럼 보입니다 : 나는 각 작업에 대해 새로운 스크립트가 필요하거나 몇 분 안에 몇 초가 걸리는지 언급하지 말고 내가 원하는 것을 할 수있는 일반적인 스크립트를 작성하고 유지해야합니다. 몇 시간 또는 내가 원하는 날.

이 문제에 대해 이미 확립 된 해결책이 없습니까?


7
난 당신이 가로 질러 실행되지 것 같은데요 에서 아직?
jw013

이것은 매우 기본적으로 보일 수 있습니다 ...하지만 시스템에 경고와 함께 어떤 종류의 일정 / 할 일 목록이 없습니까?
JoséNunoFerreira

답변:


27

나는 간단한 스크립트를 사용한다 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

당신은 할 수 그냥 쉽게 파이프로 $messagenotify-send또는 dzen당신이 데스크톱 알림 대신 이메일을 원하는 경우.


9
상대 시간 ( + 2 days) 및 다른 형식 ( YYYY-MM-DD)을 사용할 수도 있습니다 . 자세한 내용은 맨 페이지를 참조하십시오.
Arcege


나는 보통 빠른 스크립트를 위해 우리를 찾습니다. 직장을 예약하는 가장 좋아하는 게으른 방법은 "현재 +5 분"이며 몇 시간 또는 며칠이 될 수도 있습니다.
조지 M

대본과 내가 들어 보지 못한 dzen 및 notify-send를 언급 한 경우 +1
Joe

dzen 리디렉션이 작동하지 않습니다. unix.stackexchange.com/q/38362/4143
Cory Klein

6

사용하는 일반적인 방법 at

원하는 것을하는 스크립트를 작성하십시오. 모든 외부 명령에 대한 전체 경로를 사용하거나 출력을 적절한 로그 파일로 보내거나 우편으로 보내십시오.

스크립트를 테스트하십시오.

로 활성화 at -f YOURSCRIPT -t MMDDhhmm

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.