460 likes | 699 Views
AIX System Administrator 2. Scheduling 스케줄링. 작업 관리. 이 단원의 학습을 통하여 다음 내용을 익히실 수 있습니다 . crontab 을 사용한 정기적인 작업 스케줄링 at 명령어를 사용한 하나 또는 일련의 작업 스케줄링 batch 명령어를 사용한 대기열 작업 스케줄링으로 시스템 부하 감소. 순서. cron 데몬 작업 관리 단원 요약. 이 주제에 관한 학습을 통하여 , 다음과 같은 내용을 익히실 수 있습니다 . cron 데몬
E N D
AIX System Administrator 2 Scheduling 스케줄링
작업 관리 이 단원의 학습을 통하여 다음 내용을 익히실 수 있습니다. • crontab을 사용한 정기적인 작업 스케줄링 • at 명령어를 사용한 하나 또는 일련의 작업 스케줄링 • batch 명령어를 사용한 대기열 작업 스케줄링으로 시스템 부하 감소
순서 • cron 데몬 • 작업 관리 • 단원 요약
이 주제에 관한 학습을 통하여, 다음과 같은 내용을 익히실 수 있습니다. • cron 데몬 • crontab 항목의 생성 및 수정 cron 데몬날짜별 데이터 이벤트 관리자인 cron 데몬은 특정 시간과 날짜에 작업이 자동으로 실행되도록 스케줄하는 프로그램입니다. inittab파일은 cron 데몬을 비롯한 AIX의 모든 시동 프로그램을 포함합니다. AIX 시동 시 init 프로세스는 운영체제의 초기화 과정동안 inittab파일에서 cron 데몬 또는 cron을 기동시킵니다. cron 데몬
작업을 cron에 제출다음 중 한가지를 수행하여 작업 또는 이벤트를 cron에 제출할 수 있습니다. • 한 번 수행을 위한 작업 제출을 위해서는 at과 batch기능을 사용합니다 • 정기적으로 스케줄된 간격(한시간 마다, 매일, 매주 등)으로 작업을 실행하기 위해서는 crontab을 사용합니다. 기본적으로 cron은 동일한 중요성을 갖는 100개의 이벤트를 동시에 수행할 수 있도록 설정되었습니다. /usr/adm/cron/queuedefs파일에서 동시 수행 이벤트의 개수 제한값과 이벤트 유형에 따른 우선순위를 변경할 수 있습니다. cron 데몬은 항상 실행 중이며 이러한 모든 AIX 이벤트를 처리해야 합니다. 이제 cron이 crontab파일에서 스케줄된 작업을 어떻게 실행하는지 살펴 보겠습니다 cron 데몬
작업 스케줄링스케줄링 되어 있는 정기적인 간격으로, cron은 /var/spool/cron/crontabs디렉토리에 있는 crontab파일을 찾아 읽습니다.이러한 파일들은 사용자가 제출한 작업을 포함합니다. 예를 들어, /var/spool/cron/crontabs /john파일은 John 이라는 사용자의 작업을 포함합니다.cron은 각각의 사용자가 시스템에 로그인해서 명령어를 입력한 것처럼 자동으로 이들 작업을 실행합니다. cron 데몬
스케줄링 과정의 흐름/etc/inittab파일은 /etc/init에 의해 읽혀지고, inittab파일에 있는 라인은 init에 의해 현재 또는 지정된 실행 레벨에 따라 순차적으로 처리됩니다. cron 데몬
cron 데몬은 /var/spool/cron/crontabs디렉토리에 들어있는 파일들을 읽습니다. 이 디렉토리에 있는 파일은 개별 사용자 이름을 따라 명명되어 있습니다. cron 데몬
crontabs디렉토리에 있는 파일이 변경되면, cron 데몬은 그 파일을 다시 읽어 반드시 그 내용을 알고 있어야 합니다. cron 데몬
cron의 기능간략하게 말하면, cron은 crontab파일을 읽고 어는 작업을 언제 실행해야 할지를 알아냅니다.cron의 모든 오류 메시지는 메일을 통해 작업을 제출한 사용자에게 보내집니다.명령의 결과는 사용자의 crontab파일에 지정된 위치로 보내집니다.잠시 학습한 내용을 복습하고, 누가 cron에 작업을 제출할 수 있는지를 관리하는 방법을 살펴보겠습니다. cron은 무엇입니까? • 특정 시간과 날짜에 작업을 대화식으로 실행하도록 스케줄 하는 프로그램입니다. • 특정 시간과 날짜에 작업을 자동으로 실행하도록 스케줄 하는 프로그램입니다. • 나중에 실행되기로 한 작업을 나열하는 프로그램입니다. • 시스템의 모든 작업과 프로세스를 다시 스케줄 해주는 프로그램입니다. cron 데몬 2
기본적으로 cron은 동일한 우선순위를 갖는 이벤트를 동시에 몇 개까지 실행할 수 있습니까? • 100 • 105 • 107 • 110 cron 데몬 1
cron의 사용다음의 파일 중 하나 (모두가 아님)가 존재하지 않을 경우 root 사용자만이 cron을 사용할 수 있습니다. • /var/adm/cron/cron.deny - 이 파일에 들어있는 사용자를 제외한 임의의 사용자가 cron을 사용할 수 있습니다. • /var/adm/cron/cron.allow - 이 파일에 들어있는 사용자들(root 사용자를 포함)만 cron을 사용할 수 있습니다. • 디폴트로 AIX는 아무 내용이 없는 /var/adm/cron/cron.deny파일을 생성합니다. 이 파일은 모든 사용자가 cron을 사용할 수 있도록 합니다. 액세스를 제한하려면 cron.deny파일에 이름을 추가하거나 제거하고 cron.allow파일을 설정해야 합니다.이제 crontab 파일의 형식을 살펴 보겠습니다 cron 데몬
crontab 파일의 형식crontab 파일의 형식에는 6개의 항목이 다음의 순서로 구성되어 있습니다.분 시간 날짜 월 요일 명령어 • 분은 0 ~ 59 사이의 값을 갖습니다. • 시간은 0 ~ 23 사이의 값을 갖습니다. • 해당 월의 날짜는 1 ~ 31 사이의 값을 갖습니다. • 해당 년도의 월은 1 ~ 12 사이의 값을 갖습니다. • 요일은 0 ~ 6 사이의 값을 가집니다. • 0=일요일, 1=월요일의 순입니다. • 명령어는 실행할 명령어 입니다. cron 데몬
crontab 파일 형식에 대한 형식 규칙crontab 파일의 형식에 대한 규칙은 다음과 같습니다. • 공백은 각 항목을 분리시키며 항목 내에는 포함될 수 없습니다. • 별표(*)는 지정된 항목의 모든 값 또는 가능한 값을 나타냅니다. • 쉽표(,)는 값의 나열을 나타냅니다. • 대쉬(-)는 값의 범위를 나타냅니다. cron 데몬
crontab 형식의 예 0 0 * * 1-5 backup -0 –u –f /dev/rmt0이 예에서는 cron이 월요일부터 금요일까지 자정에 백업 프로그램을 실행합니다. 첫번째 항목은 해당되는 시의 0분을 명시합니다. 두 번째 항목은 해당 날짜의 시간을 명시합니다. 여기에서 시간은 자정입니다. 공백이 항목의 구분자 역할을 합니다. 세 번째 항목은 해당 월의 모든 날짜를 명시합니다. 별표(*)는 모든 값 또는 가능한 값을 나타냅니다. 네 번째 항목은 해당 연도의 모든 달을 명시합니다. 다섯 번째 항목은 월요일부터 금요일까지를 명시합니다. 범위의 값을 위해서는 대쉬(-)를 사용하는 것을 기억하십시오. 여섯 번째 항목은 실행할 명령어를 명시합니다 cron 데몬
0,15,3,45 8-17 * * 1-5 /home/tester/myscript crontab 형식의 또 다른 예이 예에서는 cron이 월요일부터 금요일까지 오전 8시와 오후 5시 사이에 매 15분마다 /home/team01/myscript파일을 실행합니다. 첫번째 항목은 매 15분을 명시합니다. 공백이 항목의 구분자 역할을 합니다. 두 번째 항목은 오전 8시와 오후 5시 사이를 명시합니다. 세 번째 항목은 해당 월의 모든 날짜를 명시합니다 네 번째 항목은 해당 연도의 모든 달을 명시합니다 다섯 번째 항목은 월요일부터 금요일까지를 명시합니다. 여섯 번째 항목은 실행할 스크립트 파일 이름을 명시합니다 cron 데몬
cron.deny파일의 목적을 무엇입니까? • 이 파일에 들어있는 사용자를 제외한 임의의 사용자가 cron을 사용할 수 있도록 합니다. • 이 파일에 들어있는 사용자만이 cron을 사용할 수 있도록 합니다. • 시스템의 어떠한 사용자도 cron을 사용할 수 없도록 합니다. • 시스템의 모든 사용자가 cron을 사용할 수 있도록 합니다 자주 사용되는 명령crontab파일을 관리하는 데 가장 자주 사용되는 명령은 다음과 같습니다.crontab –l 현재의 crontab파일의 내용을 보여줍니다 crontab –e 현재의 crontab파일을 편집합니다. crontab –r crontab디렉토리에 있는 사용자의 crontab파일을 삭제합니다. crontab file cron spool 디렉토리에 새로운 파일을 제출합니다 cron 데몬 1
crontab 파일의 생성 및 수정crontab파일을 생성하거나 수정하는 방법은 두 가지가 있습니다. 새로운 crontab파일을 생성하거나 기존의 crontab파일을 편집하는 것입니다. 기존 crontab 파일의 편집crontab -e 명령을 사용하여 현재의 crontab 항목을 편집할 수 있습니다. 하지만, 이 경우 해당 파일의 보안이 저하됩니다.또 다른 방법은 현재의 crontab파일을 새로운 파일로 방향 재지정하고 나서 이 새로운 파일을 편집하는 것입니다 # crontab –l > mycronfile # vi mycronfile cron 데몬
작업을 cron spool 디렉토리에 제출다음 단계는 편집된 파일을 cron이 명령을 실행하도록 cron spool 디렉토리에 제출하는 것입니다. crontabmycronfile명령은 사용자의 crontab파일을 cron spool 디렉토리에 제출하는데 사용됩니다.crontab명령은 mycronfile의 내용을 /var/spool/cron/crontabs디렉토리에 사용자의 ID의 이름으로 명명된 새로운 파일로 제출합니다.다음에 cron 데몬이 실행될 때 /var/spool/cron/crontabs디렉토리에 모든 사용자의 crontab파일과 사용자가 제출한 명령을 읽어 실행합니다.이제 마지막 문제를 풀며 복습해 보겠습니다. cron 데몬
crontab명령이 사용자의 crontab 항목을 /var/spool/cron/crontabs디렉토리에 제출하면 무슨 일이 일어납니까? • 사용자의 항목은 시스템이 재시동 될 때까지 실행되지 않습니다. • 사용자는 사용자의 명령을 수행될 수 있도록 crontab을 실행해야 합니다. • 사용자의 명령은 crontab이 실행되는 다음에 실행됩니다. • crontab은 사용자의 명령을 즉시 실행합니다. 주제에 관한 학습을 마쳤습니다. 이 주제에서는 다음과 같은 항목을 다루었습니다. 다시 보려면, 원하는 항목을 클릭하십시오. • cron 데몬 • crontab 항목의 생성 및 수정 cron 데몬 3
순서 • Cron 데몬 • 작업 관리 • 단원 요약
이 주제에 관한 학습을 통하여, 다음과 같은 내용을 익히실 수 있습니다. • at와 batch 명령어 • at 작업의 관리 • 프로세스 ID에 의한 시스템 프로세스 구분과 중지 • 서브 시스템의 시작과 설정의 문서화 작업 관리
at와 batch 명령어cron 데몬에 관한 학습에서, 반복적인 작업에 대한 요청을 제출하는 crontab파일에 대해 학습하였습니다. at와 batch명령은 일회성 작업에 사용됩니다. at명령은 미래의 특정 시간에 수행되도록 작업을 cron에 제출합니다. at명령은 표준 입력 또는 키보드를 통해 명령을 읽을 수 있습니다. 또한 명령은 명령 파일을 통해서도 입력될 수 있습니다. batch명령은 작업이 프로세서 부하가 적을 때 백그라운드로 수행되도록 제출합니다. batch명령어는 at명령과 유사하지만 한가지 다른점이 있습니다. at명령어를 사용할 때는, 작업에 대한 시작 시간을 지정할 수 있다는 것입니다. batch명령어를 사용할 때는 이를 명시할 수 없습니다 작업 관리
at.deny 파일과 at.allow 파일 다음의 두 파일 가운데 한 개(모두는 아님)가 존재하지 않으면 root 사용자만이 at명령을 사용할 수 있습니다. • /var/adm/cron/at.deny • /var/adm/cron/at.allow /var/adm/cron/at.deny파일은 이 파일에 나열된 사용자를 제외한 임의의 사용자가 at명령어를 사용할 수 있도록 합니다./var/adm/cron/at.allow파일은 이 파일에 나열된 사용자(root 사용자 포함)만이 at 명령어를 사용할 수 있도록 합니다. 기본적으로 AIX는 비어있는 at.deny파일을 생성합니다. 이는 모든 사용자가 at와 batch명령을 사용할 수 있도록 합니다. at.deny파일에 사용자 이름을 추가하거나 at.deny파일을 삭제하고 이 명령어를 사용하도록 제한을 두기 위해 at.allow파일을 생성할 필요가 있습니다. 작업 관리
AIX는 at.deny와 at.allow파일을 사용하여 누가 at명령을 사용할 수 있는지와 없는지를 제어합니다. ? 예 # batch ls>ls.out batch 명령의 예이 화면에서는 batch명령어가 ls 명령어를 실행하고 그 결과를 ls.out파일에 방향 재지정합니다.먼저, batch 명령을 입력하고 Enter을 누르십시오. 다음 행에서, 나중에 실행될 명령을 입력하게 됩니다. 모든 명령어의 입력이 끝나면, 명령을 제출하기 위해 Ctrl+D를 누릅니다 작업 관리
# batch ls>ls.out Job root….. AIX는 작업의 상태를 보여줌으로써 명령이 처리된 것을 확인하고 사용자에게 프롬프트를 돌려줍니다. 이 예에서는 프로세서의 부하가 적을 때 ls > ls.out명령이 실행됩니다.이제는 at명령의 몇 가지 예를 살펴보십시오 작업 관리
# at 4 pm df –k at 명령의 예첫번째 예에서, at명령은 오후 4시에 df -k명령을 실행합니다.우선, at4pm 을 입력하고 Enter를 누릅니다. 다음 행에서 df -k명령을 입력하고 Enter를 누릅니다. 명령을 제출하기 위해 Ctrl+D를 누릅니다 # at 4 pm df –k Ctrl+D Job root….. AIX는 작업의 상태를 보여줌으로써 명령이 처리된 것을 확인하고 사용자에게 프롬프트를 돌려줍니다 작업 관리
# at now + 2 weeks df –k 두 번째 예에서는 동일한 명령을 사용하지만 이번에는 2주 내에 실행되도록 지정합니다. now + 2 weeks 시간과 날짜 형태는 상대적인 시간을 명시합니다 AIX는 작업의 상태를 보여줌으로써 명령이 처리된 것을 확인하고 사용자에게 프롬프트를 돌려줍니다 작업 관리
절대 시간과 상대 시간의 형식시간 형식은 at명령어에 절대 시간 또는 상대 시간을 명시할 수 있습니다. 이 화면은 절대 시간과 상태 시간 형식의 예를 몇 가지 보여줍니다.다음 단어를 at명령어와 함께 사용하여 시간을 명시할 수 있습니다. • noon (또는 N) • midnight (또는 M) • am (또는 A) • pm (또는 P) • today • tomorrow 작업 관리
방향 재지정 방향 재지정을 사용하지 않으면, at명령은 그 명령 또는 오류 결과를 사용자 메일로 발송합니다. 나중에 시스템에 로그인 할 때, 사용자는 메일이 왔음을 통보 받게 됩니다. at 작업의 관리at 작업을 관리하는데 자주 사용되는 명령어는 다음과 같습니다. • at -l : at 작업을 보여줍니다. • atq [user] : 다른 사용자의 작업을 보여줍니다. (root 사용자만이 이 명령어를 사용할 수 있습니다. • at -r : at 작업을 취소합니다. • atrm job : 작업 번호로 at 작업을 취소합니다. • atrm user : 사용자 이름으로 at 작업을 취소합니다. (root 사용자는 임의의 사용자에 대해 이 명령을 사용할 수 있으며, 일반 사용자는 자신의 작업만을 취소할 수 있음) • atrm : atrm명령을 수행한 사용자에게 속한 모든 at 작업을 취소합니다 작업 관리
at now + 1 week명령은 다음 중 어느 것의 예입니까? • 절대 시간과 날짜 형식 • 지정 시간과 날짜 형식 • 일반 시간과 날짜 형식 • 상대 시간과 날짜 형식 atq명령은 다른 사용자의 작업을 보는데 사용되며 root 사용자에 의해서만 사용될 수 있습니다. ? 예 작업 관리 4
프로세스 ID에 의한 시스템 프로세스의 구분 사용자는 AIX에서 실행되는 시스템 프로세스와 서브 프로세스를 볼 수 있습니다.상위/하위 프로세스 관계를 이해한다면 프로세스의 시작을 추적할 수 있습니다. AIX에서 init을 제외한 모든 프로세스는 상위 프로세스를 가지며 상위 프로세스는 하위 프로세스를 생성합니다. AIX는 각각의 프로세스마다 유일한 번호를 부여합니다.다음 예에서, 상위 프로세스 ID (PPID)와 프로세스 ID (PID)를 추적하여 각 프로세스의 시작을 추적할 수 있음을 살펴보겠습니다. 프로세스 ID에 의한 시스템 프로세스의 구분 (계속)qdeamon의 시작을 찾기 위해 / usr/sbin/qdaemon의 PPID를 확인하십시오. root 7904 1360 0 02 May – 0.00 /usr/sbin/qdaemon 작업 관리
다음에는 PPID와 동일한 값을 갖는 PID를 찾으십시오. 여기에서는 /usr/sbin/srcmstr입니다. root 1360 1 0 … /usr/sbin/srcmastr 그 과정을 반복해서 /usr/sbin/srcmstr의 PPID를 살펴보십시오 root 1360 1 0 … /usr/sbin/srcmastr 결국 그 PPID와 일치하는 PID는 /etc/init에 속하는 것을 알게 됩니다. 따라서 /etc/init이 그 프로세스를 기동한 것입니다 작업 관리
프로세스의 중지 프로세스를 중지할 수 있는 방법은 여러 가지가 있습니다. • <Ctrl+C> (인터럽트 키)는 foreground 프로세스를 중지합니다. • PID 번호 및 -9옵션과 함께 kill명령을 사용하면 프로세스를 종결합니다. 예를 들면 다음과 같습니다.# kill -9 105 • 행의 시작 부분에 있는 # 기호는 crontab 파일의 해당 행을 주석 처리함으로써 crontab작업의 실행을 중지합니다. 그리고 cron은 refresh 되어 crontab파일을 다시 읽습니다. AIX에서 init을 제외한 각 프로세스는 상위 프로세스를 가지며 하위 프로세스를 생성할 수 있습니다. ? 예 작업 관리
프로세스를 중지하려면 다음 중 어떤 명령어를 사용해야 합니까? • kill -3 프로세스 ID • kill -4 프로세스 ID • kill -9 프로세스 ID • kill -6 프로세스 ID 서브시스템의 시작과 설정의 문서화 시스템 관리자는 일반적으로 crontab과 inittab파일의 구성에 많은 시간을 투자합니다. 이러한 파일은 각 운영환경에 대한 유일한 명세를 포함하기 때문에 아주 중요합니다.만약 재난으로 시스템의 데이터를 잃게 된다면 이러한 파일들을 재생성 할 수 있는 것이 중요합니다. 작업 관리 3
안전책crontab과 inittab파일의 복사본을 백업하고 보관하는 것은 필수적입니다. 다음의 방법을 권장합니다. • crontab과 inittab파일의 하드카피를 출력. • crontab과 inittab 파일의 전기적인 복제 생성 • 위에서 만든 crontab과 inittab파일의 복제들을 다른 장소에 보관 참고: /etc/inittab파일이 손상되면, 시스템이 시동되지 않을 수도 있습니다. 이런 경우, 백업으로부터 복원하거나 문서를 이용하여 다시 생성해야 합니다. crontab과 /etc/inittab파일은 임의의 운영 환경에서 사용할 수 있는 사항을 포함합니다. ? 아니오 작업 관리
주제에 관한 학습을 마쳤습니다. 이 주제에서는 다음과 같은 항목을 다루었습니다. 다시 보려면, 원하는 항목을 클릭하십시오. • at와 batch 명령어 • at 작업의 관리 • 프로세스 ID에 의한 시스템 프로세스 구분과 중지 • 서브 시스템의 시작과 설정의 문서화 작업 관리
순서 • Cron 데몬 • 작업 관리 • 단원 요약
단원의 학습을 마쳤습니다. 이 단원에서는 다음과 같은 항목을 다루었습니다. 다시 보려면, 원하는 항목을 클릭하십시오. • crontab을 사용한 정기적인 작업 스케줄링 • at 명령어를 사용한 하나 또는 일련의 작업 스케줄링 • batch 명령어를 사용한 대기열 작업 스케줄링으로 시스템 부하 감소 단원 요약
작업 관리에 대한 평가를 시작합니다. 이 평가에는 10개의 질문이 있습니다. 질문에 답하면 다음 화면이 자동으로 표시됩니다.도중에 종료하면, 종료한 부분에서 다시 시작 할 수 없습니다. 평가를 모두 마치면, 시험 결과가 백분율로 나타납니다. 이 평가를 통과하려면 75점이 넘어야 합니다. crontab파일은 어디에 위치합니까? • /etc/security/bin/crontabs디렉토리에 • /usr/adm/cron디렉토리에 • /var/spool/cron/crontabs디렉토리에 • /var/adm/schedule/crontabs디렉토리에 단원 요약
inittab파일은 cron을 포함한 모든 AIX 시동 프로그램을 포함합니다. • 예 • 아니오 다음 중 crontab파일에 대한 정확한 형식의 순서는 무엇입니까? • 요일 월 일 시 분 명령 • 명령 분 시 일 월 요일 • 분 시 일 월 요일 명령 • 명령 요일 월 일 시 분 crontab -e명령을 사용해서 crontab 항목을 편집하는 이유는 파일을 보다 안전하게 할 수 있기 때문입니다. • 예 • 아니오 단원 요약
다음 중 batch명령이 수행하는 기능은 무엇입니까? • 일괄적으로 작업을 제출합니다. • 관련된 작업을 묶어 일괄적으로 실행합니다. • 출력 요청을 묶어 batch로 나누어 프린터가 사용되지 않을 때 실행시킵니다. • 프로세서의 부하가 적을 때 작업을 백그라운드로 수행하도록 제출합니다 batch명령은 at명령과 유사하며 at명령과 정확히 동일하게 수행됩니다. • 예 • 아니오 단원 요약
다음 중 사용자 team01이 제출한 at작업을 취소하는데 사용하는 명령어는 무엇입니까? • rmat team01 • rmatjob team01 • atjobrm team01 • atrm team01 다음 중 AIX의 프로세스 ID에 관한 설명으로 옳지 않은 것은 어느 것입니까? • init을 제외한 모든 프로세서가 상위 프로세스를 갖습니다. • 각각의 프로세스에는 유일한 번호가 지정됩니다. • 상위 프로세스는 하위 프로세스를 생성합니다. • 답 없음 단원 요약
다음 중 crontab파일에 항목을 가진 프로세스의 실행을 중지하는 방법은 무엇입니까? • cron이 실행을 시작하기 전에 프로세스를 중지 • crontab 파일에 # 기호로 그 프로세스를 주석처리하고 cron을 refresh. • crontab 파일에 * 기호로 그 프로세스를 주석처리하고 cron을 refresh. • rontab 파일에 & 기호로 그 프로세스를 주석처리하고 cron을 refresh 다음 중 시스템 설정을 문서화하는데 권고되는 방법은 무엇입니까? • crontab과 /etc/init파일의 하드카피 출력 • crontab과 /etc/init파일의 백업 • 시스템 정의된 변수의 백업 • 시스템 하드웨어 구성의 기록 보관 단원 요약