cron

주기적으로 명령을 실행하기 위해 널리 사용되는 데몬.

man 5 crontab을 보면 다양한 설정을 지원한다.
  • 내부 실행에서만 쓸 환경변수를 정의할 수 있다. SHELL이나 PATH를 재정의할 수 있다.brag의 경우 NNTPSERVER를 정의해두면 실행될 때 참조한다.
  • 미리 정의된 $HOME 등을 참조해 경로 지정을 짧게 줄일 수 있다.
  • 실행 주기를 부분에서 @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly와 특히 @reboot를 쓸 수 있다.


bragautounrar를 등록해놓고 실행하는데, 이미 실행중인지 검사하기 위해 [ -z "$(ps x|grep brag|grep -v grep)" ] && brag ... 식으로 검사하던 걸 [ -z "$(ps x|grep [b]rag)" ]으로 줄일 수 있다고 (미투데이 cypher님께) 들어서 그렇게 했는데 /var/log/sysloggrandchild failed with exit status 1라는 에러가 떴다. 찾아보니 grep은 패턴이 발견되면 0, 없으면 1, 그 외에 에러는 2를 반환한다. cron이 없다는 1을 받아서 에러로 판단한 것으로 보인다. 아예 [ ]를 벗기고 ps x|grep [b]rag || brag ... 식으로 바꿨더니 일단 에러는 안 나는데 리다이렉션으로 남기는 로그 파일에 변화가 없는 것으로 봐서 아예 실행이 안 되는 것 같다.
Comments