매시간마다 한 번씩 명령 실행


12

스핑크스 용 인덱서가 있으며 Linux에서 매시간마다 한 번씩 실행하고 싶습니다. 어떻게해야합니까?

linux 

답변:


14

다른 사람들이 짧은 답변을 게시하고 있기 때문에 좀 더 설명이 필요하다고 생각했습니다 ...

cron 지정된 간격으로 예약 된 명령을 실행하는 대부분의 * nix 시스템에서 발견되는 데몬입니다.

선택한 폴더에 스크립트를 복사하여 목록에 스크립트를 추가합니다.

  • cron.daily
  • cron. 시간당
  • cron. 매월
  • 매주 cron.

이러한 폴더는 일반적으로 폴더 아래에 /etc있습니다.


2
cron. * 폴더는 배포판에 따라 다릅니다. crontab은 cron이 지정된 간격으로 항목을 실행하는 보편적 인 방법입니다.
MDMarra

진실. 나는 단지 예를 제시하고 있습니다. crontab은 어쨌든 훨씬 더 많은 제어를 제공합니다.
Nathan Osman


7

다를 수 있습니다-

필요에 따라 watch 명령을 사용할 수 있습니다.

  watch --interval=3600 command

1
1 시간마다 명령을 실행합니까? 아니면 명령을 실행하고 1 시간 후에 다시 실행합니까? 명령이 너무 오래 걸리면 큰 차이가 있습니다. (Man 페이지에서 명확하지 않기 때문에 묻습니다.)
Malabarba

직접 시도해 보는 것이 그렇게 어렵지 않습니다.
mimoralea


2

당신은 명령을 입력하여 크론 파일을 편집합니다 crontab -e

그러면 현재 Linux 및 FreeBSD의 경우 'vi'편집기로 이동합니다.

다음을 입력하십시오 : (삽입을 위해 'i'를 입력하십시오)

00 * * * * /path/to/sphinx_indexer.exe

그런 다음 저장하고 종료하십시오 ( 'esc'를 누르고 다음을 입력하십시오)

:wq



1

만약 당신이 가지고있는 것처럼 영구적이지 않고 한 번만 필요 cron하고 watch솔루션이 충분히 융통성이 없다면, 오래된 bash 스크립팅을 사용할 수도 있습니다.

while true; do
   # do stuff
   sleep $[60 * 60]
done

실행하는 데 3599 초가 걸리고 요구 사항에 따라 스크립트가 다음 초를 트리거하고 시계를 0으로 재설정해야하는 경우 #do Stuff로 작동하지 않지만이 경우 3599 초에 일시 중지됩니다. 다음 3600 초 동안 절전 모드로 진행하십시오. 겹치지 않지만 반복 사이에 예기치 않은 간격이 있습니다. 여기서 사용자는 cron없이 매시간마다 작업을 실행하려고한다고 생각합니다.
mannoj

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