나중에 실행할 명령을 편리하게 예약 하시겠습니까? 시간 후에

8 시간 후에 명령을 실행하는 간단한 방법은 무엇입니까? 나는 이런 식으로 생각할 수 있습니다.

nohup bash -c "sleep 28800 ; ./mycommand.sh" &

더 “적절한”방법이 있습니까?



답변

at명령을 사용할 수 있습니다 . 은 at나중에 명령을 실행합니다. at유틸리티에서-작업, 나중에 실행하기로 표준 입력과 함께 그룹을에서 명령을 읽어하여야한다.

일반적으로 atUbuntu에 기본적으로 설치되지만 릴리스에 포함되어 있지 않은 경우 다음을 통해 설치하십시오.

sudo apt-get install at

자세한 내용, 옵션, 예제 및 기타 정보는 Ubuntu 맨 페이지 리포지토리를 참조하십시오.

예:

at now +8 hours -f ~/myscript.sh

tomorrow또는 과 같이 편리한 속기를 사용할 수도 있습니다 noon.

echo "tweet fore" | at teatime 

경고 : 파이프 왼쪽에서 명령을 즉시 실행 하지만 나중에 출력 만 표시합니다. 이 예제에서는 작업을에 파이프하는 방법도 보여줍니다at. at -c예약 된 작업을 검사 할 수있는 방법으로 다음과 같이 번호와 함께 편리하게 나열 할 수 있습니다.

at -c 3

답변

예, 크론 작업을 설정할 수 있습니다.

예를 들어, 현재 시간이 14:39:00이고 오늘이 8 월 30 일 금요일 인 경우 crontab -e명령을 사용하여 crontab 파일에 다음 cron 작업 (8 시간 후에 실행)을 추가 할 수 있습니다 .

39 22 30 8 5  /path/to/mycommand.sh

추가 정보 :


답변

의 그놈 기반의 GUI를 사용 cron, at등을 :

CronHowto 의 소개는 gnome-schedule모든 쓰레기를 터미널에 입력하는 것보다 훨씬 좋은 gui 사용을 제안합니다 ( “power”* nix / bsd 사용자가 아닌 “평균”우분투 사용자의 경우).

Unity Dash (또는 다른 애플리케이션 메뉴)를 사용하여 예약 된 작업 을 찾 거나 실행하여이를 실행하십시오 gnome-schedule.

Gnome 기반 Ubuntu 시스템에서 응용 프로그램-> 시스템 도구의 Gnome Scheduled tasks 도구 (gnome-schedule 패키지)는 Cron을 사용하도록 프롬프트하는 그래픽 인터페이스를 제공합니다. 프로젝트 웹 사이트는 http://gnome-schedule.sourceforge.net/에 있습니다 . 소프트웨어는 소프트웨어 센터에서 설치하거나 다음을 입력하여 설치할 수 있습니다

sudo apt-get install gnome-schedule

터미널에서.

사용하여 gnome-schedule홈 디렉토리에 스크립트, “에서”새 명령 윈도우의이 유형을 사용하여 설정 될 것이다 :


답변

나는 이것을 발견하기 전에 빠르고 더러운 방법을 알아 냈습니다 at.

정오에 스크립트를 실행한다고 가정 해보십시오.

until [[ "$(date)" =~ "12:00:" ]]; do
    sleep 10
done
./mycommand.sh

내일 정오에 실행하기를 원한다고 가정하십시오 (오늘은 11 월 24 일입니다).

until [[ "$(date)" =~ "25 12:00:" ]]; do
    sleep 30
done
./mycommand.sh

업데이트 : 약간 더 나은 방법 : 다음을 사용하여 관심있는 숫자 만 테스트하십시오 date +FORMAT.

until [[ $(date +%H:%M) == 21:06 ]]; do
    ...