Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

커밋 작업 중 커밋 스크립트 실행 제어

커밋 스크립트는 디바이스의 하드 디스크의 /var/db/scripts/commit 디렉터리 또는 플래시 드라이브의 /config/scripts/commit 디렉터리에 저장됩니다. 로그인 클래스의 superuser 사용자만 이러한 디렉터리의 파일에 액세스하고 편집할 수 있습니다. 스크립트의 저장 위치 설정에 대한 자세한 내용은 Junos 자동화 스크립트 저장 및 활성화플래시 메모리에 스크립트 저장을 참조하십시오.

커밋 스크립트는 파일 이름이 계층 수준에 [edit system scripts commit file] 포함되지 않는 한 커밋 작업 중에 실제로 실행되지 않습니다. 스크립트 파일명을 구성할 때 SLAX(.slax) 및 Python(.py) 스크립트에 적합한 파일 이름 확장자를 포함해야 합니다. XSLT 스크립트에는 파일 이름 확장명이 필요하지 않지만 명확성을 위해 .xsl 확장명을 추가하는 것이 좋습니다. 커밋 스크립트가 실행되지 않도록 하려면 해당 계층 수준에서 커밋 스크립트의 파일 이름을 삭제합니다.

기본적으로 계층 수준에 [edit system scripts commit file] 포함된 모든 스크립트가 커밋 스크립트 디렉터리에 실제로 존재하지 않는 한 커밋 작업은 실패합니다. 스크립트가 누락된 경우에도 커밋 작업이 성공할 수 있도록 하려면 계층 수준에서 [edit system scripts commit file filename] 문을 포함 optional 합니다. 예를 들어, 스크립트를 커밋 스크립트 디렉터리에서 삭제하여 작업에서 스크립트를 신속하게 제거해야 할 것으로 예상되지만 계층 수준에서 [edit system scripts commit file] 커밋 스크립트 파일 이름을 제거하지 않으려면 스크립트를 선택 사항으로 표시할 수 있습니다. 나중에 스크립트를 다시 사용하려면 커밋 스크립트 디렉터리에 있는 파일을 바꾸기만 하면 됩니다.

주의:

계층 수준에서 [edit system scripts commit file filename] 문을 포함 optional 할 때, 파일이 존재하지 않으면 커밋 작업 중에 오류 메시지가 생성되지 않습니다. 따라서 스크립트가 예상대로 실행되지 않는다는 사실을 인지하지 못할 수도 있습니다.

또한 및 activate 구성 모드 명령을 실행 deactivate 하여 커밋 스크립트를 비활성화하고 재활성화할 수 있습니다. 커밋 스크립트가 비활성화되면 스크립트는 구성에서 비활성으로 표시되고 커밋 작업 중에 실행되지 않습니다. 커밋 스크립트가 다시 활성화되면 커밋 작업 중에 스크립트가 다시 실행됩니다.

디바이스에서 현재 활성화된 커밋 스크립트를 확인하려면 명령을 사용하여 show 계층 수준에서 [edit system scripts commit] 구성된 파일을 표시합니다. 활성화된 파일이 디바이스에 있는지 확인하려면 운영 모드 명령을 사용하여 /var/run/scripts/commit/ 디렉터리의 내용을 나열합니다 file list /var/run/scripts/commit .

커밋 작업 중에 실행되도록 커밋 스크립트 활성화

커밋 작업 중에 실행할 커밋 스크립트를 구성하는 방법:

  1. 커밋 스크립트가 올바른 디렉터리에 있는지 확인합니다.
    • /var/db/scripts/commit 디렉터리에 있습니다.

    • /config/scripts/commit 디렉터리에 있습니다.

    스크립트 저장 위치에 대한 자세한 내용은 Junos 자동화 스크립트 저장 및 활성화플래시 메모리에 스크립트 저장을 참조하십시오.

  2. 계층 수준에서 명령문을 포함하여 file filename 커밋 스크립트를 활성화합니다 [edit system scripts commit] . Junos OS super-user 로그인 클래스에 속하는 사용자만 커밋 스크립트를 활성화할 수 있습니다.
    • filename—커밋 스크립트의 이름입니다.

    • optional- 스크립트 디렉터리에 스크립트 파일이 없을 때 커밋 작업이 성공하도록 활성화합니다. 이 문을 생략하면 스크립트가 존재하지 않을 때 커밋 작업이 실패합니다.

  3. 서명되지 않은 Python 스크립트의 경우 다음 요구 사항이 충족되는지 확인합니다.
    • 파일 소유자는 루트 또는 로그인 클래스의 사용자입니다.super-user

    • 파일 소유자만 파일에 대한 쓰기 권한이 있습니다.

    • language python OR language python3 문은 계층 수준에서 구성됩니다.[edit system scripts]

  4. 구성을 커밋합니다.

커밋 작업 중 커밋 스크립트가 실행되지 않도록 방지

구성의 계층에서 [edit system scripts commit] 스크립트의 파일 이름을 제거하여 커밋 작업 중에 커밋 스크립트가 실행되지 않도록 할 수 있습니다.

참고:

구성에서 스크립트의 파일 이름을 제거하는 대신 문을 사용하여 deactivate 스크립트를 비활성화할 수도 있습니다. 비활성화된 스크립트는 나중에 다시 활성화할 수 있습니다.

커밋 작업 중에 커밋 스크립트가 실행되지 않도록 하려면:

  1. 구성의 계층 수준에서 [edit system scripts commit] 커밋 스크립트 파일명을 삭제합니다.
  2. 변경 내용을 커밋합니다.
  3. (선택 사항) 디바이스의 커밋 스크립트 디렉터리에서 커밋 스크립트를 제거합니다.

    커밋 스크립트 디렉터리에서 커밋 스크립트를 제거할 필요는 없지만 시스템에서 사용하지 않는 파일을 삭제하는 것이 항상 좋은 정책입니다.

커밋 스크립트 비활성화

커밋 스크립트를 비활성화하면 구성에 있는 것으로 inactive 표시됩니다. 비활성 스크립트는 커밋 작업 중에 무시됩니다.

커밋 작업 중에 실행되지 않도록 커밋 스크립트를 비활성화하려면:

  1. 명령을 내립니다.deactivate
  2. 변경 내용을 커밋합니다.
  3. 커밋 스크립트가 비활성화되었는지 확인합니다.

커밋 스크립트 활성화

커밋 스크립트를 비활성화하면 구성에서 비활성 상태로 표시됩니다. 비활성 스크립트는 커밋 작업 중에 실행되지 않습니다. activate 문을 사용하여 스크립트를 다시 활성화할 수 있습니다.

비활성 커밋 스크립트를 활성화하려면:

  1. 명령을 내립니다.activate
  2. 변경 내용을 커밋합니다.