포럼 내용이 있는 곳으로 건너뜀

사과나무 이야기 마당

Mac 사용자 정보 교류 마당 - AppleTree forums for Korean Mac users

로그인하지 않으셨습니다. 로그인 또는 가입해 주세요.

이곳은 Mac 관련 유용한 정보들을 모아 많은 분과 함께 공유하기 위해 운영되고 있습니다. 잠깐 들르시는 나그네라도 자유롭게 글을 올리시고 의견을 나누실 수 있습니다.

새 댓글 작성

새 댓글 작성

새 댓글을 작성합니다.

사용 가능: BBCode 이미지 그림 문자

양식을 전송하기 전에 (필수)라고 표시된 모든 항목을 입력해야만 합니다.

손님인 경우 필수로 요구되는 정보


필수 정보
글 설정 선택사항

글타래 내용 (최신 글 먼저)

1

Panther에서의 일정 관리

James Duncan Davidson씨가 쓴 글을 옮김.

컴퓨터에 관해서 얘기를 할 때면 자동화를 빼놓을 수는 없을 것이고, 여기에 Mac OS X는 정해진 날짜와 시간에 일정한 작업을 반복해서 실행할 수 있도록 도와주는 몇 가지 쓸모있는 도구들을 제공하고 있습니다. 그렇다면, 어떤 정해진 시간에 파일을 다른 곳으로 복사를 해야 하거나, 혹은 꼭 정각 새벽 5 시 반에 웹 페이지를 내려받아야 한다고 해서 컴퓨터가 대신 처리해 줄 수도 있는 일을 마다하고 잠자리에서 박차고 일어나야 될 이유는 없을 겁니다.

여러가지 많은 작업들을 처리하기 위해서, 시스템은 cron과 periodic이라 불리우는 도구를 사용합니다. 사용되어지는 작업들에는 로그 파일들을 정리하거나 locate 명령에 사용되는 시스템 데이타베이스를 갱신하는 것 등이 있습니다. 먼저, 이런 도구들을 어떻게 사용하는 지를 보여드리기 전에, 매번 정확한 시간에 모든 작업들이 절로 실행될 수 있도록 컴퓨터의 시계를 올바로 맞추는 방법부터 설명해 드리겠습니다.

시간 맞추기

컴퓨터의 시계가 정확하게 맞추어져 있지 않다면 작업 일정을 제대로 짜기란 무척이라 어려울 것입니다. 컴퓨터의 시간과 날짜는 시스템 환경설정의 '날짜 & 시간' 항목에서 맞추실 수 있습니다. 그리고, 오랜 시간 동안 인터넷에 연결되어 있는 상태라면 (물론 요새는 누구나 그렇겠습니다만), 모든 것을 생략하고 그냥 네트웍 시간 서버의 시계와 시간이 저절로 같아지도록 설정하실 수 있습니다. 간단하게 아래 그림처럼 '날짜 & 시간'에 있는 "자동으로 날짜와 시간 설정" 항목의 선택 상자를 누르시고 가까운 곳의 적당한 시간 서버를 선택하시면 됩니다.

네트웍 시간 서버란 그냥 정확한 시계를 가지고 있으면서, 많은 수의 컴퓨터들이 정확한 시간에 맞게 동기될 수 있도록 도와주기 위해 설계된 네트웍 시간 규약(NTP)을 사용하는 장치입니다. 일반적으로 가장 정확한 시간을 표시해주는 원자 시계를 가지고 있습니다.

기본적으로, 환경설정의 '날짜 & 시간'에서는 Apple에서 제공하는 세 개의 서버들 중 하나를 선택하실 수 있습니다. 하나는 미국에 있으며, 나머지는 아시아 그리고 유럽에 있습니다. 또한 인터넷을 통해 공개되어 있는 시간 서버들도 있으며, 사용 가능한 네트웍 시간 서버들의 목록은 아래의 주소에서 확인하실 수 있습니다.
http://www.eecis.udel.edu/~mills/ntp/servers.html

http://www.macdevcenter.com/mac/2004/03/05/graphics/DateAndTimePanel.jpg
그림 1. 시스템 환경설정의 날짜 & 시간

시간 서버를 설정하게 되면, 시스템은 다음과 같은 작업들을 합니다:

[uli]/etc/ntp.conf에 저장되어 있는 시간 서버 설정.[/uli]
[uli]ntpd 작업이 실행되고 있는 지 확인. 이 작업은 주기적으로 시간 서버를 검사해서 시계가 올바로 맞추어져 있는 지를 확인하게 됩니다.[/uli]
[uli]/etc/hostconfig에 있는 TIMESYNC의 값을 -YES-로 설정해서 시스템 재시동 후에도, ntpd가 시작되도록 합니다.[/uli]

iCal을 이용한 일정 관리

iCal은 이미 아신 것처럼 Mac OS X안에 함께 들어있는 개인용 일정 관리 어플리케이션입니다. iCal은 다른 컴퓨터들과 함께 연결해서 같이 사용하거나 .Mac과 동기될 수 있는 다중의 달력들을 가지고 있습니다. iCal에서 일정 관리를 하려면 우선, 특정 시간과 기간이 정해진 행사(event)를 달력에 등록하게 됩니다. 행사는 일시적일 수도, 혹은 반복되는 것일 수도 있습니다.

각각의 행사는 미리 알림 기능을 설정해서 사용할 수도 있고, 파일을 열거나, 혹은 어떤 행사의 정해진 시간 이전에 어플리케이션을 실행시켜 놓을 수도 있습니다. 더불어서, 미리 알림 기능은 iCal이 실행되고 있지 않아도 작동이 됩니다. iCal은 iCal Helper 어플리케이션(/어플리케이션/iCal.app/Contents/Resources 폴더에 저장되어 있음)을 사용해서 iCal이 실행되고 있는 지에 상관 없이 행사를 주시하고 있다가 정해진 시간에 미리 알림 기능을 수행합니다.

iCal의 미리 알림 기능과 함께 AppleScript를 사용하면 원하시는 거이 모든 작업들을 처리할 수도 있습니다. 이것은 먼저 다음 세 가지의 간단한 준비가 필요합니다:

1. 원하는 기능을 가진 AppleScript 어플리케이션을 만들고 저장합니다.

요령: 스크립트를 저장하기에 가장 알맞은 장소는 /Library/Scripts 폴더 안 입니다. 여기에 저장된 모든 것들은 '스크립트' 메뉴에 포함이 되고, 이 '스크립트' 메뉴를 보이게 하려면 /Applications/AppleScript 폴더 안에 있는 'Install Script Menu'를 두 번 눌러주시면 됩니다. '스크립트' 메뉴에는 AppleScripts, shell scripts, 그리고 어플리케이션의 가상본들도 넣어두실 수 있습니다. (이것은 예전, Mac OS 9의 Apple 메뉴와 많이 닮았습니다.)

2. iCal에서 한 번 혹은 여러번 반복이 되는 행사를 만듭니다.

3. 행사의 미리 알림 기능에서 저장했던 AppleScript 어플리케이션을 열도록 설정합니다.

한 가지 예를 들면, 여러분의 홈 디렉토리에 있는 모든 파일들의 목록을 매주 이메일을 통해서 받아보시고 싶다면, Script Editor(/Applications/AppleScript)를 사용해서 아래의 보기-1에서 보여지는 것과 같이 홈 디렉토리를 검사해서 결과를 이메일로 보내게 하는 AppleScript를 만드실 수도 있습니다.

보기-1. 홈 디렉토리를 검사해서 결과를 이메일로 보내게 하는 AppleScript

set listing to (do shell script "/bin/ls -l $HOME")
tell application "Mail"
    set the newMessage to (make new outgoing message with properties ¬
        {subject:"Home dir ls output", content:listing})
    tell newMessage
        make new to recipient with properties {address:"you@somewhere.com"}
    end tell
    send newMessage
end tell

위의 스크립트를 ListHomeDir라는 이름의 AppleScript로 저장하고, 관련 행사 일정에 맞추어 실행되게 하면 됩니다. 행사의 예정된 시간에 어플리케이션이 실행되게 하기 위해서는, 아래의 그림-2에서 보이는 것처럼 "미리 알림(alarm)"을 "파일 열기(Open file)"로 설정하고 해당 어플리케이션을 실행될 파일로 선택하시면 됩니다. 이렇게 설정해 놓으면, 행사가 예정된 시간에 사용자가 컴퓨터에 로그 인 되어 있는 상태라면 AppleScript 어플리케이션이 절로 실행되게 됩니다. 이런 방법의 일정 관리는 대부분의 경우에 효과적이지만, 만약 작업을 매 시간 실행해야 하거나, 혹은 컴퓨터에 로그인 되어 있지 않을 경우를 생각한다면, Unix의 일정 관리 도구들을 사용하는 것을 생각해 보셔야 될 겁니다.

http://www.macdevcenter.com/mac/2004/03/05/graphics/ch0802.jpg
그림-2. iCal에서의 반복되는 행사 설정하기

periodic 쓰기

periodic 도구는 정기적으로 매번 실행되어야 하는 시스템 관리 작업들을 계획하고 준비하기 위해서 설계되었습니다. periodic이 쓰는 시간 간격으로는 daily, weekly 그리고 monthly가 있습니다. Mac OS X 안에서 periodic 시스템을 써서 수행하는 작업들에는 다음과 같은 것들이 있습니다:

[uli]매일 로그 파일들을 정리하고 임시 스크래치(scratch) 파일을 지움[/uli]
[uli]매주 locate 데이타베이스를 다시 갱신하고 로그 파일을 순환[/uli]
[uli]매월 로그 파일을 순환하고 계정의 로그인 관련 정보를 계산[/uli]
periodic에서 관리하는 작업들은 /etc/periodic/daily, /etc/periodic/weekly, 그리고 /etc/periodic/monthly 디렉토리에 있는 스크립트들에 의해 수행됩니다. periodic을 사용하는 자기만의 스크립트를 실행시키려면, 간단하게 앞에서 얘기된 적당한 디렉토리에 추가만 해주시면 됩니다. 예를 들어, 판매 보고서 자료를 매일 일별로 따로 저장하는 경우는, 보기-2와 같은 스크립트를 /etc/periodic/daily 디렉토리에 추가해 주시면 됩니다.

보기-2. periodic 스크립트의 예

#!/bin/bash

echo Making daily backup of sales reports

DATE=`/bin/date +%Y-%m-%d`
/bin/mkdir -p /SalesBackups/$DATE
/bin/cp -R /Users/Shared/SalesData/* /SalesBackups/$DATE

periodic은 또 스크립트의 실행 순서를 조정할 수 있는 방법도 가지고 있습니다. /etc/periodic/daily 디렉토리를 열어보시면 시스템이 사용하고 있는 스크립트들의 이름이 숫자로 시작되는 것을 확인하실 수 있을 겁니다. 그래서, 스크립트가 특정 순서로 실행되길 원하신다면, 이름 앞에 숫자만 추가해 주시기만 하면, periodic은 아래의 보기-3과 같이 스크립트의 실행 순서를 알아서 처리해 줍니다.

보기-3. /etc/periodic/daily 디렉토리의 목록

$ ls -l /etc/periodic/daily/
total 24
-r-xr-xr-x  1 root  wheel  1389 30 Aug 20:36 100.clean-logs
-r-xr-xr-x  1 root  wheel  3529 30 Aug 20:36 500.daily

여기서, 파일 이름 앞의 숫자는 스크립트의 실행 순서를 정해줍니다. 그래서, 숫자가 작을 수록 같은 디렉토리 안의 다른 스크립트들 보다 먼저 실행됩니다. 예를 들아, 앞의 보기-2에서 저장한 보고서 저장 스크립트를 다른 daily 스크립트들 보다 가장 나중에 실행되게 하려면, /etc/periodic/daily/700.salesbackup 처럼 저장을 하시면 됩니다.

periodic의 실행 결과 보기

periodic은 실제 보이지 않게 뒤에서 실행되기 때문에, 스크립트의 실행 결과도 감추어져 있습니다. 그래서, 어떤 작업이 수행되었는지를 확인하시려면, periodic의 실행 결과가 저장되어 있는 /var/log 디렉토리를 열어 보시면 됩니다. Daily 스크립트의 경우는 /var/log/daily.out, weekly는 /var/log/weekly.out, 그리고 monthly는 /var/log/monthly.out 파일에 저장됩니다.

cron

Unix에서는 오래전부터 일정을 관리하는 기본 도구로 cron을 사용해 왔습니다. cron은 시동할 때, SystemStarter에 의해 절로 실행이 되며 계속 뒤에서 작동을 합니다. 그리고, 매분 깨어나서 실행되어야 할 작업이 있는 지를 작업 일람표를 통해 확인을 하고 해당 작업을 처리하게 됩니다. crontab 파일로 알려진 이 일람표는 다음의 두 곳에 위치합니다:

/etc/crontab
- 시스템 전체를 위한 crontab 파일. 이 일람표 안 각각의 목록들은 root 사용자에 의해 실행되는 명령들과 실행될 시간을 가지고 있습니다. 누구든지 이 파일을 읽을 수는 있지만 오직, root 사용자만이 수정할 수 있습니다.
/var/cron/tabs/
- 이 디렉토리에는 cron을 사용하는 시스템의 모든 사용자들을 위한 사용자 crontab 파일들이 들어 있습니다. 이 파일들은 감추어져 있고, 오직 root 사용자에게만 보입니다. 그래서 다른 사용자의 crontab 파일은 서로 볼 수가 없습니다.

시스템 crontab 파일

아래의 보기-4는 처음 설치 후의 시스템 crontab을 보여줍니다. 이 파일은 시스템 관련 작업들만을 위한 것이기 때문에, 여러분은 언제나 사용자를 위한 crontab 파일을 사용하셔야 합니다.

보기-4. 시스템 crontab 파일

# /etc/crontab
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin
HOME=/var/log
#
#minute hour    mday    month   wday    who     command
#
#*/5    *       *       *       *       root    /usr/libexec/atrun
#
# Run daily/weekly/monthly jobs.
15      3       *       *       *       root    periodic daily
30      4       *       *       6       root    periodic weekly
30      5       1       *       *       root    periodic monthly

이 crontab 파일은 다른 많은 Unix 도구들과 그 형식이 비슷합니다. 해쉬 글자(#)로 시작되는 줄은 모두 설명문이 됩니다. 그리고 설명문 다음에 있는 세 개의 줄은 cron이 실행되는 환경을 설정해 줍니다. 각각의 줄은 특정 작업이 실행하게 될 시간을 정의해 주는 다섯 개의 번호로 구성되어 있으며, 줄의 마지막 부분에는 실행되는 명령이 포함되어 있습니다. 시스템 crontab의 경우에는, 명령을 실행시킬 수 있는 권한을 가진 사용자의 이름도 함께 포함되어 있습니다. 그리고 위에서 보실 수 있는 것과 같이 다섯 개의 숫자들은 작은 것부터 큰 순서로 서로 다른 시간의 간격을 나타냅니다. 아래의 그림-3에서는 각 항목들에 대한 설정 사항들을 설명해 주고 있으며, 여기에 사용된 숫자들 외에 별표 모양의 글자(*)는 해당 항목이 가질 수 있는 모든 가능성을 포함하고 있음을 의미합니다.

위의 보기-4에 나와있는 crontab 파일을 풀이할 때는 각 줄의 항목들을 왼쪽부터 오른쪽으로 읽으시면 됩니다. 예를 들어, 설명문 다음의 periodic daily라고 표시되어 있는 첫 번째 항목은 15 분, 3 시, 매주, 매달 그리고 요일에 상관없이 실행됨을 나타냅니다. 이 것은 periodic daily가 매일 오전 3:15에 실행된다는 뜻입니다. 그리고, 두 번째 줄은 periodic weekly 명령이 30 분, 4 시 매주 일요일에 실행된다는 것을 나타냅니다. 간단하게, 매주 일요일 오전 4:30에 실행이 됩니다.

또한 각 항목에는, 시간을 나타내는 숫자들을 쉼표 사이에 여러개 늘어놓아서 시간을 정해주실 수도 있습니다. 가령, 명령이 매 15 분마다 실행되기를 원하신다면, 다음과 같은 줄을 쓰시면 됩니다:

0, 15, 30, 45, 60 * * * * command

http://www.macdevcenter.com/mac/2004/03/05/graphics/ch0803.jpg
그림-3. crontab 파일의 형식

혹은, 명령이 오직 주중 오전 5:00에만 실행되게 할 경우는 다음과 같이 합니다:

0 5 * * 1-5 command

사용자 crontab

사용자가 직접 자신만의 작업들을 예약하기 위해서는 개별 사용자의 crontab을 사용해야 합니다. 사용자의 crontab 파일에 어떤 작업들이 등록되어 있는 지를 보려면 아래와 같이 crontab 명령을 써서 보실 수 있습니다:

$ crontab -l
crontab: no crontab for duncan

위에서 보여지는 결과는 어떠한 작업 일정도 아직 등록되어 있지 않음을 나타냅니다. 기본적으로, 처음 사용자의 계정을 만들었을 때에는 사용자의 crontab은 비어 있습니다.

사용자 crontab 고치기

crontab을 고치는 방법에는 두 가지가 있습니다. 첫 번째 방법은 터미널 환경에 설정되어 있는 편집기(에를 들어, vi, Emacs, 그리고 pico)를 사용하는 것이고, 두 번째 방법으로는, 사용자의 crontab 파일을 원하시는 글자 편집기(TextEdit 혹은 BBEdit 같은)를 가지고 고치는 것입니다. 터미널에서 고치실 경우에는, 다음과 같은 명령을 쓰십시오:

$ crontab -e

우선, 본보기로 첫 crontab을 등록하기 위해, 매분 컴퓨터가 "hello"라고 말하도록 하는 작업을 등록하려면, 다음과 같은 줄을 여러분의 crontab 파일에 더해줍니다:

* * * * * osascript -e 'say "hello"'

참고: 만약 사용하고 계신 편집기가 익숙치를 않아서 막히는 것이 있다면, vi의 경우 :q!라고 입력하시면 빠저나오실 수 있고, Emacs의 경우에는 Cotrol-X를 치고나서 Control-C를 누르시면 됩니다.

이제, 매분마다 여러분의 컴퓨터가 켜저 있다면 "hello"라고 말을 하게 될 겁니다. 실제로는 계속 써보면 무척이나 번거고 별 쓸모는 없는 것입니다만, 이번 작업의 과정에는 몇 가지 알아두셔야 할 것들이 있습니다.
- osascript -e 'say "hello"' 명령은 실행 주기를 나타내는 앞의 다섯 개 별표에 의해서 매분마다 시스템에 의해서 실행이 됩니다.
- 이 명령은 시스템 환경설정의 "말하기" 항목에 설정되어 있는 기본 음성을 사용하고, 정해진 시간에 "hello"라는 단어를 말하게 됩니다.

이제, 여러분은 crontab 파일의 설치를 마치셨기 때문에, crontab 파일에 등록되어 있는 작업의 목록을 보실 수 있습니다:

$ crontab -l
* * * * * osascript -e 'say "hello"'

crontab 파일을 만드는 또 다른 방법은, TextEdit나 BBEdit롸 같은 글자 편집기를 사용하는 것입니다. 편집기로 crontab 파일을 생성하고 편집한 후에, 하드 디스크에 (예를 들어, mycrontabfile이라는 임의의 이름으로) 저장하고 다음과 같은 명령어를 사용하면 사용자 crontab 파일의 원래 장소에 올바로 저장이 됩니다:

$ crontab mycrontabfile

주의: 위에서 mycrontabfile 부분에는 파일이 저장되어 있는 절대 경로를 입력하셔야 합니다. 그리고, 여기서 사용된 crontab 명령은 이미 저장되어 있는 사용자의 crontab 파일을 지우게 되는 결과를 가져오기 때문에, 새로운 crontab 파일을 불러들이기 전에, 꼭 이전의 crontab 파일을 확인하시는 것도 중요합니다.

다시 crontab파일을 고치기 위해서 다시 불러들이려면, 다음과 같은 명령을 쓰시면 됩니다:

$ crontab -l > mycrontabfile

이렇게 하면, 사용자 crontab 파일의 설정 내용이 담긴 mycrontabfile이라는 이름의 파일이 사용자의 홈 디렉토리에 생기게 됩니다.

덤으로 있는 설정 항목들

Mac OS X에서 사용하는 cron 명령은 기타 Unix 계열의 시스템에서 사용되는 것들과 비교해서 개선된 것들이 있습니다. 예를 들어, 시간 지정 항목에 아래와 같이 더 읽기 편한 형식을 가질 수도 있습니다:

[uli]주 중의 요일은 줄인 이름이 대신 사용될 수 있습니다: sun, mon, tue, wed, thu, fri, sat.[/uli]
[uli]월 이름을 줄인 이름으로 대신 사용할 수 있습니다: jan, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec.[/uli]
[uli]간격 수치는 8-17/2와 같은 분수 표기법이 사용될 수 있습니다. 여기서 쓰인 8-17/2는 만약 시간 항목에 썼다면, "오전 8 시에서 오후 5 시 사이 매 두 시간"의 간격을 나타냅니다.[/uli]

또한 crontab파일에는 아래의 도표에 나와있는 것들과 같은 몇몇의 특수한 단어들을 사용하실 수도 있습니다. 맨 마지막의 것을 제외하고는 모두 시간 항목에서 대신 사용될 수 있고, 마지막의 @AppleNotOnBattery는 명령어 앞에 넣어서, 노트북이 AC 전원에 연결되어 있지 않을 때는, 해당 명령이 실행되지 않게 하실 수 있습니다. 예를 들어, ~/Documents 폴더 안의 모든 파일들을 안전한 장소로 복사하는 스크립트가 PowerBook이 전원에 연결되어 있을 때에만 실행되게 하려면 다음과 같은 crontab 명령을 사용하실 수 있습니다:

0 * * * * @AppleNotOnBattery ~/bin/copyfiles

[table][caption]도표. crontab에서 쓰이는 특수한 단어들[/caption][tr][td]단 어[/td][td]설 명[/td][td]같은 뜻의 숫자 표기[/td][/tr][tr][td]@ reboot[/td][td]시스템이 재시동 될 때 실행[/td][td] [/td][/tr][tr][td]@ yearly[/td][td]매년 1월 1일 자정에 실행[/td][td]0 0 1 1 *[/td][/tr][tr][td]@ monthly[/td][td]매월 첫 날 자정에 실행[/td][td]0 0 1 *[/td][/tr][tr][td]@ weekly[/td][td]매주 일요일 자정에 실행[/td][td]0 0 * * 0[/td][/tr][tr][td]@ daily[/td][td]매일 자정에 실행[/td][td]0 0 * * *[/td][/tr][tr][td]@ hourly[/td][td]매시 정각에 실행[/td][td]0 * * * *[/td][/tr][tr][td]@ AppleNotOnBattery[/td][td]시스템이 전지를 사용하고 있을 경우, 명령의 실행을 막음[/td][td] [/td][/tr][/table]

at, batch, atq, 그리고 atrm에 관하여
- 다른 Unix 시스템에서 Mac OS X로 이주해 오셨다면 일정관리를 위해 at, batch, atq, 혹은 atrm 명령어를 자주 쓰셨을 겁니다. 이런 명령어들은 Mac OS X에도 포함되어 있지만, 전원 관리의 이유로 Apple에서 사용을 막아 놓았습니다. 꼭 이 명령어들을 쓰시고 싶으시면, /etc/crontab 파일 안에 있는 atrun 명령을 켜주시면 됩니다만, 권장해드리고 싶은 일은 아닙니다.

잠자기와 cron

cron 시스템은 컴퓨터가 잠을 자고 있을 때는 실행이 안됩니다. 이때는 CPU의 전원이 꺼져있고 시스템이 깨어날 때 사용하게 되는 메모리의 내용만을 보존하는 정도의 작업만이 이루어지기 때문입니다.

그래서, 중요 작업을 실행해야 할 경우에는, 시스템이 평소 잠자고 있지 않은 시간에 실행되도록 하는 것도 중요할 것입니다.

periodic의 실행 시간 바꾸기

기본적으로, periodic은 일간 작업을 오전 3:15, 주간 작업을 오전 4:30, 그리고 월간 작업을 오전 5:30에 실행합니다. 이렇게 설정된 이유는, 여러분이 편히 주무시는 동안 시스템이 실행해야 할 작업들이 비교적 적은 한가한 시간이기 때문입니다. 만약에 시스템이 하루 24 시간 항상 켜져있지 않다면, Mac이 켜져있는 시간 중에서 비교적 한가한 시간에 작업이 실행될 수 있도록 수정하실 수는 있습니다. 예를 들어, 점심 시간에 일간 작업이 실행되고, 월요일 오전 10:00에 주간 작업을 실행하며, 회의가 있는 오전 10:30에 월간 작업이 실행되게 하시려면, 아래의 보기-5에서처럼 /etc/crontab파일을 수정해 주시면 됩니다. 시스템 crontab은 어느 한 사용자에게만 적용되는 것이 아니기 때문에 crontab -e 명령을 사용하실 수는 없고, 직접 열어서 수정을 해주셔야 합니다.

보기-5. 적당한 시간으로 고쳐진 시스템 crontab의 periodic 작업들

15      12       *       *       *       root    periodic daily
0       10       *       *       2       root    periodic weekly
30      10       1       *       *       root    periodic monthly

더 캐내기

여기서 설명된 AppleScript에 관해 더 자세하게 알고 싶은 분들은 아래를 캐시기 바랍니다:
- AppleScript: The Definitive Guide, by Matt Neuburg (O'Reilly & Associates, 2003)

또, 아래의 명령들에 관해서는 터미널에서 불러 보실 수 있는 설명서도 많은 도움이 되실 겁니다:
[uli]periodic[/uli][uli]cron[/uli][uli]crontab[/uli]

James Duncan Davidson is a freelance author, software developer, and consulting focusing on Mac OS X and related technologies. He is the author of Learning Cocoa with Objective-C, co-author of Cocoa in a Nutshell, and a contributor to Mac OS X Hacks. He is busy writing his next book, Running Mac OS X Panther, which is designed to be the power user's guide to the system. In a previous life, he was the original creator of Apache Ant and Apache Tomcat, authored two versions of the Java Servlet API, and served as one of the architects of the J2EE platform.

-- 참고로, 앞에서 얘기된 Unix의 Cron 작업 일정을 쉽게 더하고 고칠 수 있는 도구로 CronniX라는 프로그램이 있습니다.

http://www.koch-schmidt.de/cronnix/docs/screenshot.jpg

그리고 덤으로, 시스템 crontab 파일에 등록되어 있는 Mac OS X의 유지보수와 관련한 모든 일정들의 관리를 대신 도맡아 절로 실행시켜 주는 Macaroni라는 이름의 아주 쓸모있는 도구도 있습니다. Macaroni는 일간, 주간, 월간 Unix 유지보수 작업들 뿐만이 아니라 권한 복구와 쓸모없는 언어 파일들을 지우는 일들도 절로 하실 수가 있답니다. wink



Mac으로 운영됩니다