탐색 링크 건너뛰기 | |
인쇄 보기 종료 | |
Oracle Solaris 11.1에서 시스템 정보, 프로세스 및 성능 관리 Oracle Solaris 11.1 Information Library (한국어) |
이 절에는 at 명령을 사용하여 시스템 작업을 예약하기 위한 작업이 포함됩니다.
|
다음 단원에서는 at 명령을 사용하여 다음 작업을 수행하는 방법을 설명합니다.
나중에 실행할 작업(명령 및 스크립트) 예약
이러한 작업을 표시 및 제거하는 방법
at 명령에 대한 액세스를 제어하는 방법
기본적으로 사용자는 자신의 at 작업 파일을 만들고, 표시 및 제거할 수 있습니다. root 또는 다른 사용자에 속하는 at 파일에 액세스하려면 수퍼유저 권한이 있어야 합니다.
at 작업을 제출할 때 작업 식별 번호가 .a 확장자와 함께 지정됩니다. 이 지정이 작업의 파일 이름과 대기열 번호가 됩니다.
at 유틸리티를 호출하고 명령 실행 시간을 지정합니다.
나중에 실행할 명령 또는 스크립트를 입력합니다.
주 - 이 명령 또는 스크립트의 출력이 중요하면 나중에 조사할 수 있도록 출력을 파일로 재지정해야 합니다.
예를 들어, 다음 at 작업은 7월의 마지막 날 자정에 사용자 계정 smith에서 core 파일을 제거합니다.
$ at 11:45pm July 31 at> rm /home/smith/*core* at> Press Control-d commands will be executed using /bin/csh job 933486300.a at Tue Jul 31 23:45:00 2004
지정된 사용자만 at 작업에 대한 대기열 정보를 만들거나, 제거, 표시하도록 허용하여 at 명령에 대한 액세스를 제어하도록 파일을 설정할 수 있습니다. at 명령에 대한 액세스를 제어하는 파일인 /etc/cron.d/at.deny는 사용자 이름 목록(한 라인에 사용자 이름 하나씩)으로 구성됩니다. 이 파일에 나열된 사용자는 at 명령에 액세스할 수 없습니다.
SunOS 소프트웨어 설치 중 생성된 at.deny 파일은 다음 사용자 이름을 포함합니다.
daemon bin smtp nuucp listen nobody noaccess
수퍼유저 권한으로 at.deny 파일을 편집하여 제한할 at 명령 액세스를 가진 다른 사용자 이름을 추가할 수 있습니다.
$ at [-m] time [date]
작업이 완료된 후에 전자 메일을 보냅니다.
작업을 예약할 시를 지정합니다. 24 시간제에 따라 시를 지정하지 않으려면 am 또는 pm을 추가합니다. 허용 가능한 키워드는 midnight, noon, now입니다. 분은 선택 사항입니다.
월의 처음 3자 이상, 주의 일 또는 키워드 today나 tomorrow를 지정합니다.
각 라인의 끝에 Return을 누르면 여러 개의 명령을 입력할 수 있습니다.
at 작업에 대기열 번호(작업의 파일 이름)가 지정됩니다. 이 번호는 at 유틸리티를 종료할 때 표시됩니다.
예 4-7 at 작업 만들기
다음 예는 사용자 jones가 오후 7:30에 백업 파일을 제거하기 위해 만든 at 작업을 보여줍니다. 사용자는 작업이 완료된 후에 전자 메일 메시지를 받도록 -m 옵션을 사용했습니다.
$ at -m 1930 at> rm /home/jones/*.backup at> Press Control-D job 897355800.a at Thu Jul 12 19:30:00 2004
at 작업 실행을 확인한 전자 메일 메시지를 받았습니다.
Your “at” job “rm /home/jones/*.backup” completed.
다음 예는 토요일 아침, 오전 4:00에 jones가 대규모 at 작업을 예약하는 방법을 보여줍니다. 작업 출력이 big.file이라는 파일로 재지정되었습니다.
$ at 4 am Saturday at> sort -r /usr/dict/words > /export/home/jones/big.file
$ atq
이 명령은 생성된 at 작업에 대한 상태 정보를 표시합니다.
$ atq Rank Execution Date Owner Job Queue Job Name 1st Jul 12, 2004 19:30 jones 897355800.a a stdin 2nd Jul 14, 2004 23:45 jones 897543900.a a stdin 3rd Jul 17, 2004 04:00 jones 897732000.a a stdin
$ at -l [job-id]
여기서 -l job-id 옵션은 상태를 표시할 작업의 식별 번호를 나타냅니다.
예 4-8 at 작업 표시
다음 예에서는 사용자가 제출한 모든 작업의 상태 정보를 제공하는 at -l 명령의 출력을 보여줍니다.
$ at -l 897543900.a Sat Jul 14 23:45:00 2004 897355800.a Thu Jul 12 19:30:00 2004 897732000.a Tue Jul 17 04:00:00 2004
다음 예는 at -l 명령으로 단일 작업을 지정할 때 표시되는 출력을 보여줍니다.
$ at -l 897732000.a 897732000.a Tue Jul 17 04:00:00 2004
시작하기 전에
root 또는 다른 사용자에 속하는 at 작업을 제거하려면 root 역할을 맡습니다. 역할에는 권한 부여 및 권한이 있는 명령이 포함됩니다. Oracle Solaris 11.1 관리: 보안 서비스의 지정된 관리 권한을 사용하는 방법을 참조하십시오.
자신의 고유 at 작업을 제거할 때는 root 역할을 가질 필요가 없습니다.
# at -r [job-id]
여기서 -r job-id 옵션은 제거할 작업의 식별 번호를 지정합니다.
at -l 명령은 at 대기열에 남은 작업을 표시합니다. 지정한 식별 번호를 가진 작업이 나타나지 않아야 합니다.
$ at -l [job-id]
예 4-9 at 작업 제거
다음 예에서 사용자는 7월 17일 오전 4시에 실행하도록 예약된 at 작업을 제거하려고 합니다. 먼저, 사용자가 작업 식별 번호를 찾기 위해 at 대기열을 표시합니다. 그 다음, 사용자가 at 대기열에서 이 작업을 제거합니다. 마지막으로, 사용자가 이 작업이 대기열에서 제거되었는지 확인합니다.
$ at -l 897543900.a Sat Jul 14 23:45:00 2003 897355800.a Thu Jul 12 19:30:00 2003 897732000.a Tue Jul 17 04:00:00 2003 $ at -r 897732000.a $ at -l 897732000.a at: 858142000.a: No such file or directory
daemon bin smtp nuucp listen nobody noaccess username1 username2 username3 . . .
예 4-10 at 액세스 거부
다음 예는 사용자 smith 및 jones가 at 명령에 액세스할 수 없도록 편집한 at.deny 파일을 보여줍니다.
$ cat at.deny daemon bin smtp nuucp listen nobody noaccess jones smith
# su smith Password: # at -l at: you are not authorized to use at. Sorry.
마찬가지로, 사용자가 at 작업을 제출하려면 다음 메시지가 표시됩니다.
# at 2:30pm at: you are not authorized to use at. Sorry.
이 메시지는 사용자가 at.deny 파일에 나열되었음을 확인합니다.
at 명령 액세스가 허용된 경우 at -l 명령이 아무것도 반환하지 않습니다.