PERIODIC(8)

명칭
periodic - 정기적인 시스템 기능을 실행한다

서식
periodic directory ...

해설
periodic 유틸리티는 지정된 디렉토리에 있는 셸 스크립트를 실행하기 위해서, cron(8) 에 불려 가는 것을 의도하고 있습니다.

이하의 인수로부터 하나 이상을 지정하지 않으면 안됩니다 :

daily
    표준적인 1 일주기의 실행 파일을 실행합니다. 이것은 자주(잘) (그 지역의 시각에) 아침 일찍에 행해집니다.

weekly
    표준적인 1 주간 주기의 실행 파일을 실행합니다. 이것은 자주(잘) 일요일의 아침에 행해집니다.

monthly
    표준적인 1 개월 주기의 실행 파일을 실행합니다. 이것은 자주(잘) 달의 1 일째에 행해집니다.

security
    표준적인 1 일주기에서의 보안 체크를 실행합니다. 통상, daily 의 실행으로부터 기동됩니다.

path
    실행해야 할 일련의 실행 파일이 있는 임의의 디렉토리를 지정합니다.

인수가 절대 패스의 디렉토리명의 경우는 그것이 그대로 사용됩니다. 그 이외의 경우는 /etc/periodic 의 아래와 periodic.conf(5) (이하를 참조) 안의 local_periodic 그리고 지정된 디렉토리가 검색됩니다.

periodic 유틸리티는 지정된 디렉토리 (복수 지정가능)에 있다 각 실행 가능 파일을 실행합니다. 만약 실행 가능 비트가 세트되어 있지 않은 파일이 있어도, 무시하는 것만으로 거기에 관한 메세지도 표시하지 않습니다.

각 스크립트는 이하의 몇개의 값과 함께 종료하는 것이 요구됩니다.

0   스크립트의 출력에 주목해야 할 점은 없습니다. 변수 <basedir>_show_success 그리고 출력의 마스크를 제어합니다.

1   스크립트로부터 주의해야 할 정보가 출력되고 있습니다. 변수 <basedir>_show_info 그리고 이 출력을 마스크 하는지 어떤지를 제어합니다.

2   스크립트는 무효인 설정에 의한 경고를 발표했습니다. 변수 <basedir>_show_badconfig 그리고 이 출력을 마스크 하는지 어떤지를 제어합니다.

>2  스크립트로부터 마스크 되지 않는 출력이 나와 있습니다.

만약, periodic.conf 안의 관련이 있는 변수 ( <basedir> (은)는 스크립트가 놓여진 기준이 되는 디렉토리) 하지만 “NO” (으)로 설정되어 있다면, 스크립트의 출력은 마스크 됩니다. 그 변수가 “YES” 인가 “NO” 의 어느 쪽에도 설정되어 있지 않으면, periodic.conf(5) 에 기술된 디폴트의 값이 채용됩니다.

남은 출력은 <basedir>_output (으)로 설정된 값에 근거해 보내집니다.

만약, 이것에 패스명 ( ‘/’ 그리고 시작됩니다) 하지만 설정되어 있다면, 출력은 단순하게 그 파일에 기록됩니다. newsyslog(8) 하 /var/log/daily.log, /var/log/weekly.log, /var/log/monthly.log 그렇다고 하는 파일을 알고 있어, 이러한 파일이 존재한다면, 적당한 회수로 로테이트 됩니다. 따라서, periodic 의 출력을 기록하려고 한다면, 이것들을 설정하는 것이 적절합니다.

<basedir>_output 의 값이 ‘/’ 그리고 시작되지 않고, 하늘도 아닌 경우에는, 메일의 주소의 리스트가 포함되어 있다고 보여 출력은 메일로 보내집니다.

<basedir>_output 하지만 설정되어 있지 않은지, 하늘인 경우에는 출력은 표준 출력에 보내집니다.

환경 변수
periodic 유틸리티는 환경 변수 PATH (을)를 모든 표준적인 시스템 디렉토리를 포함하도록(듯이) 설정합니다. 다만, /usr/local/bin (와)과 같은 추가적인 디렉토리는 포함하지 않습니다. 만약 다른 패스에 의존하는 것 같은 실행 파일을 더한다면, 각각의 실행 파일이 자기의 환경 변수를 적절히 설정할 책임을 질 필요가 있습니다.

관련 파일

/etc/crontab
    전형적인 periodic 유틸리티의 호출은 시스템의 디폴트 cron(8) 테이블내의 엔트리로부터 행해집니다.

/etc/periodic
    서브 디렉토리로서 daily, weekly, monthly (을)를 포함한 상층의 디렉토리입니다. 이러한 서브 디렉토리에는 시스템의 표준적인 정기적 실행 파일이 놓여집니다.

/etc/defaults/periodic.conf
    periodic.conf 시스템 레지스트리는 periodic (와)과 표준의 daily, weekly, monthly 스크립트 의 행동을 제어하는 변수를 보관 유지합니다.

/etc/periodic.conf
    이 파일은 디폴트의 periodic 의 설정의 일부를 옮겨놓는 것입니다.

사용예
시스템 crontab 에는 아래의 예의 같은 periodic 의 엔트리가 기술되고 있을 것입니다 :

    # do daily/weekly/monthly maintenance
    0      2       *       *       *       root    periodic daily
    0      3       *       *       6       root    periodic weekly
    0      5       1       *       *       root    periodic monthly

전형적인 시스템 레지스트리 /etc/defaults/periodic.conf 에는 변수 local_periodic 에 붙어 다음과 같이 기술되어 있겠지요 :

    local_periodic="/usr/local/etc/periodic /usr/X11R6/etc/periodic"

periodic 의 출력을 메일로 받는 대신에 로그에 있으려면 이하와 같은 행을 /etc/periodic.conf 에 추가합니다 :

    daily_output=/var/log/daily.log
    weekly_output=/var/log/weekly.log
    monthly_output=/var/log/monthly.log

매일 실행되는 periodic 의 작업으로부터 중요한 정보만을 보기 위해서(때문에)는, 이하의 행을 /etc/periodic.conf 에 추가합니다 :

    daily_show_success=NO
    daily_show_info=NO
    daily_show_badconfig=NO

관련 항목
sh(1), crontab(5), periodic.conf(5), cron(8), newsyslog(8)

진단
종료 상태는 성공시에는 0 입니다. 만약 이하의 몇개의 이유로 명령이 실패하면, 종료 상태는 1 이 됩니다 :

usage: periodic <directory of files to execute> 스크립트 fragment가 어디에 있는지를 지정한다 디렉토리 패스 인수가 periodic 에게 건네지지 않았습니다.

<directory> not found 설명할 것도 없습니다. (역주: 지정한 디렉토리가 발견되지 않습니다. )

역사
periodic 유틸리티는 FreeBSD 3.0 에 처음으로 등장했습니다.

버그
디렉토리의 정보를, 캐릭터 라인을 포함한 셸 변수 <basedir> 그리고 지정하므로, <basedir> 하 sh(1) 에 두어 유효한 이름일 필요가 있습니다. 즉, 알파벳, 수치, 언더스코어인 것이 필요하고, 최초의 캐릭터는 수치여 되지 않습니다.

저자
Paul Traina <pst@FreeBSD.org> Brian Somers <brian@Awfulhak.org>