2013-09-22 6 views
50

특정 날짜와 시간을 포함하는 텍스트 파일이 있습니다. 해당 파일에 지정된 시간에 스크립트를 실행할 수 있기를 원합니다. 어떻게 달성할까요? 백그라운드에서 실행되는 다른 스크립트 (deamon의 일종)를 작성하고 현재 시간이 파일의 시간과 일치하면 매초마다 점검합니까? 다른 방법이 있습니까? 기계는 리눅스 서버, 데비안 wheezy입니다. 미리 감사드립니다.Linux 특정 시간에 스크립트를 실행하는 방법은 무엇입니까?

+3

cron이 작동하지 않는 이유는 무엇입니까? – lreeder

+2

이 주제가 닫힌 이유는 무엇입니까 ?? 매우 합리적인 질문입니다. Google 검색을 통해 1 위가되었습니다. 대답은 꽤 까다 롭습니다.그래서 대답 할 수있는 분명한 영어가 차단 될 것입니다. – Richard

+0

@ 리차드 StackOverflow가 닫히는 이유가 의심 스럽습니다. 이렇게 많은 질문은 사용자가 적절한 StackExchange 사이트에서 주제와 관련이없는 질문을하도록 유도하는 것입니다. 이전에는 존재하지 않았던 새로운 SE 사이트가 꽤 많이 있습니다. 예를 들어, 매우 많은 [매우 유용한 Vim 관련 질문] (https://stackoverflow.com/questions/1218390/what-is-your-most-productive-shortcut-with-vim/1220118)이 있습니다. Vi/Vim SE가 있기 때문에 그 질문은 주제에 관한 것입니다. 그냥 생각하고있어. 그러나 이것은 여전히 ​​프로그래밍 질문 – mgarey

답변

101

봐 :

echo "ls -l" | at 07:00 

이 코드 라인은 특정 시간에 "LS -l"을 실행합니다. 이것은 특정 시간에 무언가를 실행하는 예제입니다 (본 예제에서는 명령). "at"는 당신이 정말로 찾고 있던 명령입니다. 현재 사양을 읽을 수 있습니다 http://manpages.ubuntu.com/manpages/xenial/man1/at.1posix.html

http://manpages.ubuntu.com/manpages/precise/en/man1/at.1posix.html는 희망이 도움이!

+2

오류가 발생했습니다 '''atv를 알리기 위해 /var/run/atd.pid를 열 수 없습니다. 아무런 실마리가 없지? – HappyCoding

+0

'at'를 사용하려면'atd' 데몬이 필요합니다. Manjaro OpenRC에서'at-openrc'를 설치하고 daemon atd 서비스를'sudo rc-update add atd'로 추가하고'sudo rc-service atd start'로 시작할 수 있습니다. 보통'at' 패키지에는'sudo systemctl start atd'로 시작할 수 있고'sudo systemctl enable로 init에 자동 시작을 가능하게하는'systemd' (Ubuntu를 포함한 다양한 배포판 리눅스의 기본 init/서비스 시스템) 서비스가 포함되어있었습니다 atd'. –

+0

제 경우에는 "job 6 at 2017-08-21 10:53"을 즉시 출력합니다 ... – Jewenile

4

일반적으로 Linux에서는이 종류의 scduled 작업에 crontab을 사용합니다. 그러나 "타이머 설정"시간을 지정해야합니다. 따라서 파일 자체에서 구성 가능하게하려면이를 수행 할 수있는 메커니즘을 만들어야합니다. 여기 1시 반 (AM)에서 매주 금요일

30 1 * * 5 /path/to/script/script.sh 

스크립트를 실행겠습니까 :

그러나 일반적으로, 당신은 예를 들어 사용하는 것이

30

1

입니다 시간

다음 2 *는 및 month (th 주문에서) 5은 평일

+1

처럼 보이므로 어떻게 그 명령을 실행하겠습니까? –

10

at 명령은 반복적 인 작업 예약을위한 cron과 달리이 용도로만 제공됩니다. 다음에

at $(cat file) </path/to/script 
+0

에 bash를 쓰면'$ (

5

크론은 매주 토요일 오전 4시와 같이 주기적으로 실행되는 것에 적합합니다. anacron도 있는데 전원 차단, 절전 모드 및 기타 등등과 관련하여 작동합니다. 뿐만 아니라 입니다.

그러나 루트 또는 아무것도 요구하지 않는 일회성 솔루션에 대한

, 당신은 단지 을 사용 후, 초 - 이후 - 시대 목표 시간뿐만 아니라 현재 시간을 계산하는 날짜을 사용할 수 있습니다 expr 차이를 찾으려면 수면 많은 초.

+5

그동안 컴퓨터가 재부팅 되더라도'at' 작업은 예정대로 남아 있습니다. – tripleee

관련 문제