Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

예: Op 스크립트를 사용하여 파일 내보내기

이 예의 op 스크립트 는 Junos XML 프로토콜 file-put 작업을 사용하여 원격 서버와 로컬 디바이스의 파일에 씁니다.

요구 사항

이 예는 Junos OS 실행하는 디바이스를 사용합니다.

개요 및 Op 스크립트

Junos XML 프로토콜 file-put 작업은 파일을 생성하고 지정된 내용을 해당 파일에 씁니다. 명령을 사용하기 file-put 위한 기본 구문은 다음과 같습니다.

다음 태그 요소는 명령과 함께 file-put 사용됩니다. 이러한 태그는 을(를) 제외한 file-contents모든 순서로 배치될 수 있습니다. file-contents 태그 요소는 목록의 마지막 태그여야 합니다.

  • delete-if-exist—(선택 사항) 포함된 경우 기존 파일이 덮어쓰기됩니다. 태그를 생략하면 기존 파일이 발생하면 오류가 반환됩니다.

  • encoding—(필수) 사용된 인코딩 유형을 지정합니다. 사용 ASCII 하거나 base64 인코딩할 수 있습니다.

  • filename-(필수) 이 태그 내에서 생성할 파일의 전체 또는 상대적 경로 및 파일 이름을 포함합니다. 상대적 경로를 사용할 때 지정된 경로는 사용자의 홈 디렉토리와 상대적입니다. 지정된 디렉토리가 존재하지 않으면 시스템에서 "디렉토리가 존재하지 않는다"는 오류를 반환합니다.

  • permission—(옵션) 원격 서버에서 파일의 UNIX 권한을 설정합니다. 예를 들어, 사용자에게 읽기/쓰기 액세스를 적용하고 다른 사용자에게 읽기 액세스를 적용하려면 권한 값을 0644로 설정합니다. UNIX 권한에 대한 전체 설명은 명령을 참조하십시오 chmod .

  • file-contents—(필수) ASCII 또는 base64 부호화 파일 컨텐츠를 내보내기 위해. 이 태그는 목록의 마지막 태그여야 합니다.

XSLT 구문

다음 샘플 스크립트는 Junos XML API 요청을 실행하고 결과를 원격 디바이스의 파일과 로컬 디바이스의 파일로 내보냅니다. 스크립트는 원격 디바이스의 IP 주소 또는 호스트 이름, 파일 이름 및 파일 인코딩이라는 세 가지 인수를 취합니다. arguments 인자 이름과 설명이 명령줄 인터페이스(CLI)에서 표시되도록 변수는 스크립트의 전역 수준에서 선언됩니다.

스크립트는 로컬 디바이스에서 Junos XML API <get-software-information> 요청을 호출하고 결과를 변수에 result 저장합니다. 스크립트는 작업에 대한 원격 프로시저 호출(RPC)을 포함하는 변수를 선언 fileput 합니다file-put. 명령줄 인수는 및 encoding 태그 요소에 filename 대한 값을 정의합니다. 필수 인자 myhost 누락된 경우 스크립트는 오류를 발행하고 실행을 중단합니다. 그렇지 않으면 스크립트는 원격 디바이스에 연결하는 데 사용할 사용자 이름과 암호를 묻는 메시지를 표시합니다.

원격 디바이스에 대한 연결이 성공하면 스크립트는 연결 핸들의 컨텍스트 내에서 RPC를 실행합니다. 기능의 file-put 결과 jcs:execute() 인 작업의 출력은 변수에 out 저장됩니다. 작업에 오류가 발생하면 스크립트가 오류를 CLI에 인쇄합니다. file-put 작업이 성공하면 태그 요소에 의해 file-contents 지정된 콘텐츠가 원격 디바이스의 지정된 파일로 내보냅니다. 그런 다음 원격 호스트에 대한 연결이 닫힙니다. 또한 스크립트는 콘텐츠를 로컬 디바이스의 동일한 파일로 내보냅니다.

샘플 스크립트에는 선택적 태그 요소 permissiondelete-if-exist 작업에 대한 요소가 포함됩니다 file-put . 태그를 delete-if-exist 포함함으로써 스크립트는 원격 및 로컬 호스트에 동일한 이름의 기존 파일을 덮어 쓰고 있습니다. 이 예에서 태그는 permission 으로 0644설정됩니다.

SLAX 구문

구성

절차

단계별 절차

스크립트를 다운로드, 활성화 및 테스트하려면,

  1. XSLT 또는 SLAX 스크립트를 텍스트 파일로 복사하고, 파일 export.xsl 또는 export.slax 의 이름을 적절히 지정하고, 이를 디바이스의 /var/db/scripts/op/ directory로 복사합니다.

  2. 구성 모드에서 [edit system scripts op] 계층 수준에 문을 포함하고 file 적절한 경우 export.xsl 또는 export.slax를 포함합니다.

  3. 명령을 실행합니다 commit and-quit .

  4. 운영 모드 명령을 실행하여 op 스크립트를 op export 실행하고 필요한 인수를 포함합니다.

확인

Op 스크립트 인수 확인

목적

인수 이름과 설명이 CLI에 표시되는지 확인합니다.

작업

op exort ? 운영 모드 명령을 실행합니다. CLI는 스크립트의 전역 arguments 변수 내 정의를 기반으로 스크립트 인수에 대한 가능한 완료를 나열합니다.

Op 스크립트 실행 확인

목적

스크립트가 예상대로 작동하는지 확인합니다.

작업

op export myhost host encoding encoding filename file 운영 모드 명령을 발행하고 프롬프트 메시지가 표시되면 적절한 사용자 이름과 암호를 포함합니다. 스크립트 실행이 성공하면 RPC 요청의 <get-software-information> 결과는 원격 디바이스의 파일과 로컬 디바이스의 파일에 기록됩니다. 예를 들어:

명령줄 인수에서 원격 디바이스의 IP 주소 또는 호스트 이름을 제공하지 않으면 스크립트가 오류를 발행하고 실행을 중단합니다.

작업의 하위 태그 file-putdelete-if-exist 생략하고 지정된 파일이 이미 존재하는 경우 스크립트가 오류를 보고합니다.

스크립트를 실행하고 원격 또는 로컬 호스트에 존재하지 않는 디렉터리 경로를 포함하는 경우 스크립트는 오류를 보고합니다.