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


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.