Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos OS 자동화 스크립트의 전역 매개 변수 및 변수

Junos OS는 자동화 스크립트가 실행될 때 자동으로 입력을 제공합니다. 스크립트는 디바이스 호스트 이름, 스크립트 유형 및 스크립트를 실행하는 사용자와 같은 스크립트 실행 환경에 대한 디바이스별 정보를 포함하는 이 입력을 참조할 수 있습니다. 이 정보는 다양하고 복잡한 시나리오에 응답하는 스크립트를 만드는 데 유용합니다.

junos.xsl 파일을 가져오는 SLAX 및 XSLT 스크립트는 노드 집합인 전역 변수를 사용하여 $junos-context 이 정보를 참조할 수 있습니다. 또한 junos.xsl 가져오기 파일은 스크립트가 이 정보의 하위 집합을 보다 쉽게 참조할 수 있도록 몇 가지 사전 정의된 전역 매개 변수를 선언합니다. Python 스크립트는 스크립트로 가져와야 하는 사전을 junos.Junos_Context 통해 이 정보를 참조할 수 있습니다.

SLAX 및 XSLT 스크립트에서 사전 정의된 매개 변수 또는 전역 변수를 사용하려면 XSLT 스크립트의 스타일 시트 선언에 태그를 포함 <xsl:import> 하거나 SLAX 스크립트에 문을 포함 import 하고 다음 샘플 코드에 표시된 대로 junos.xsl 파일 위치를 지정하여 junos.xsl 파일을 가져와야 합니다.

XSLT 구문

SLAX 구문

파이썬

Python 스크립트에서 정보를 참조하려면 사전을 Junos_Context 가져옵니다.

스크립트 입력은 다음 섹션에 자세히 설명되어 있습니다.

SLAX 및 XSLT 스크립트에서 사용할 수 있는 전역 매개 변수

junos.xsl 파일을 가져오는 SLAX 및 XSLT 자동화 스크립트에서 사용할 수 있는 몇 가지 사전 정의된 전역 매개 변수를 사용할 수 있습니다. 매개 변수는 Junos OS 환경에 대한 정보를 제공합니다. 표 1 에는 내장 인수가 설명되어 있습니다.

표 1: SLAX 및 XSLT 스크립트에서 사용할 수 있는 사전 정의된 매개 변수

이름

묘사

본보기

$hostname

로컬 디바이스의 호스트 이름

도쿄

$localtime

스크립트가 실행되는 현지 시간

금 Dec 10 11:42:21 2010

$localtime-iso

스크립트가 실행될 때 ISO 형식의 현지 시간

2010-12-10 태평양 표준시 11:42:21 태평양 표준시

$product

로컬 장치의 모델

M10i (엠10i)

$script

실행 스크립트의 파일 이름

test.slax

$user

스크립트를 실행하는 사용자의 로컬 이름입니다

뿌리

사전 정의된 전역 매개 변수는 junos.xsl 파일에 선언되어 있습니다. 이러한 매개 변수를 사용하기 위해 스크립트에서 선언할 필요는 없습니다. 다음 예제와 같이 매개 변수 이름 앞에 달러 기호($)를 붙여 스크립트의 전역 매개 변수 값에 액세스합니다.

SLAX 구문:

XSLT 구문:

자동화 스크립트에서 사용할 수 있는 전역 변수

커밋, 이벤트 및 op 스크립트는 실행 시 스크립트에 제공되는 특정 환경 정보에 액세스할 수 있습니다. 이 정보에 액세스하려면 Python 스크립트가 사전을 junos.Junos_Context 가져오고 참조해야 하며, junos.xsl 파일을 가져오는 SLAX 및 XSLT 스크립트는 $junos-context 전역 변수를 참조할 수 있습니다. $junos-context Junos_Context 동일한 정보를 포함하지만 해당 스크립트 언어에 적합한 형식입니다.

변수는 $junos-context 노드와 다음 계층 구조를 포함하는 <junos-context> 노드 집합으로, 모든 스크립트의 소스 트리에 공통적이고 포함됩니다.

또한 실행된 스크립트 유형에 따라 스크립트 관련 정보를 사용할 수 있습니다. op 스크립트의 경우 <op-context> 요소는 op 스크립트에 제공된 소스 트리에도 포함됩니다.

커밋 스크립트의 경우, <commit-context> 요소는 커밋 스크립트에 제공되는 소스 트리에도 포함됩니다.

표 2 는 변수 node-set의 $junos-context 각 노드를 식별하고, 노드에 대한 간략한 설명을 제공하며, 스크립트에 빈 태그로 입력되지 않는 요소에 대한 값의 예를 제공합니다.

표 2: SLAX 및 XSLT 스크립트에 사용할 수 있는 전역 변수 $junos 컨텍스트

부모 노드

노드

묘사

콘텐츠 예시

<junos 컨텍스트>

<섀시>

스크립트가 라우팅 매트릭스의 구성 요소, 루트 시스템 도메인 (RSD) 또는 보호 시스템 도메인 (PSD)에서 실행되는지 여부를 지정합니다

scc, lcc (TX 매트릭스)psd, rsd (JCS)기타

<호스트 이름>

로컬 디바이스의 호스트 이름

도쿄

<현지 시간>

스크립트가 실행되는 현지 시간

금 Dec 10 11:42:21 2010

<현지 시간-iso>

스크립트가 실행될 때 ISO 형식의 현지 시간

2010-12-10 태평양 표준시 11:42:21 태평양 표준시

<pid>

cscript 프로세스 ID

5257

<제품>

로컬 장치의 모델

M10i (엠10i)

< 리마스터/>

스크립트가 기본 라우팅 엔진에서 실행되는 경우 빈 요소 포함

 

<라우팅 엔진 이름>

스크립트가 실행되는 라우팅 엔진

재0

<스크립트 유형>

실행 중인 스크립트의 유형

op

<tty>

사용자 세션의 TTY

/dev/ttyp1

<junos-context> <user-context>

<클래스 이름>

스크립트를 실행하는 사용자의 로그인 클래스

수퍼유저

<login-name>

스크립트를 실행하는 사용자의 로그인 이름입니다. AAA 액세스의 경우 RADIUS/TACACS 사용자 이름입니다.

제이스미스

<uid입니다>

디바이스 구성에 정의된 대로 스크립트를 실행하는 사용자의 사용자 ID 번호

2999

<사용자>

스크립트를 실행하는 사용자의 로컬 이름입니다. Junos OS는 인증을 위해 로컬 이름을 사용합니다. AAA 인증에 사용되는 것과 login-name 다를 수 있습니다.

뿌리

<junos-context> <op-context>

(op 스크립트만 해당)

<URL을 통해>

원격 op 스크립트가 명령을 사용하여 op url 실행되는 경우 빈 요소 포함

 

<junos-context> <commit-context>

(커밋 스크립트만 해당)

< 커밋 부팅/>

부팅 시 커밋이 발생할 때 포함된 빈 요소

 

< 커밋 확인/>

a가 commit check 수행될 때 포함된 빈 요소

 

<커밋 코멘트>

커밋에 대한 사용자 의견

전달 문제 해결을 위한 약속

< 커밋 확인/>

a가 commit confirmed 수행될 때 포함된 빈 요소

 

< 커밋 동기화/>

a가 commit synchronize 수행될 때 포함된 빈 요소

 

< 데이터베이스 경로/>

세션의 상속 전 후보 구성의 위치를 지정하는 요소입니다. 일반 구성 세션의 경우, 요소의 값은 일반 후보 데이터베이스의 위치입니다. 비공개 구성 세션의 경우, 요소의 값은 비공개 후보 데이터베이스의 위치입니다. <get-configuration> database-path 속성이 이 값으로 설정되면, 커밋 스크립트는 해당 사전 상속 후보 구성을 검색합니다.

 

$junos-context 변수는 노드 집합입니다. 따라서 적절한 XPath 식을 포함하여 스크립트 전체에서 자식 요소에 액세스할 수 있습니다. 다음 SLAX 커밋 스크립트는 초기 부팅 중에 커밋이 수행되는 경우 시스템 로그 파일에 메시지를 기록합니다. 메시지에는 기능daemon 과 심각info도 값이 지정됩니다. 자세한 내용은 syslog()를 참조하십시오.

Python 스크립트는 스크립트에 제공된 환경 정보에 액세스하기 위해 모듈에서 junos 사전을 가져와야 Junos_Context 합니다. 딕셔너리에 있는 Junos_Context 키의 이름은 표 2에 요약된 노드의 $junos-context 이름과 동일합니다. 노드 아래에 junos-context 중첩된 자식 요소가 있는 노드(예: user-context, op-context)는 commit-context 의 항목에 Junos_Context매핑됩니다. 여기서 키는 노드 이름이고 값은 노드의 자식 요소 사전입니다. 예를 들어:

다음 예제 출력은 로컬에서 Junos_Context 실행된 op 스크립트의 사전을 표시합니다. op 스크립트 입력에는 키가 포함되어 op-context 있으며, 이 시나리오에서는 비어 있습니다.

다음 예제 출력에는 작업 중에 실행된 커밋 스크립트의 사전이 commit check 표시됩니다Junos_Context. 커밋 스크립트 입력에는 키가 포함되어 있습니다commit-context.

사전의 개별 값에 액세스하려면 키 이름을 지정합니다. 예를 들어: