Go to main content

Oracle® ZFS Storage Appliance 관리 설명서, 릴리스 OS8.8.x

인쇄 보기 종료

업데이트 날짜: 2021년 8월
 
 

Get 함수 사용

run 함수는 충분히 강력하므로 출력 구문분석에 전적으로 의존하여 시스템에 대한 정보를 가져오려고 할 수도 있습니다. 그러나 이렇게 하면 앞으로 변경되거나 변경되지 않을 수 있으며 사람이 읽을 수 있는 출력을 구문분석하는 스크립트가 남는다는 명확한 단점이 있습니다. 시스템에 대한 정보를 보다 강력하게 수집하려면 내장 get 함수를 사용합니다. boot_time 등록 정보의 경우 이는 문자열 대신 ECMAScript Date 객체를 반환하여 등록 정보 값을 프로그래밍적으로 조작할 수 있게 됩니다. 보다 안정적인 스크립트 가능 값은 Prop 함수 사용을 참조하십시오.

  1. 예를 들어, boot_time 등록 정보를 현재 시간과 함께 사용하여 부트 이후 경과한 시간을 확인할 수 있습니다.
    script
           run('configuration version');
           now = new Date();
           uptime = (now.valueOf() - get('boot_time').valueOf()) / 1000;
           printf('up %d day%s, %d hour%s, %d minute%s, %d second%s\n',
               d = uptime / 86400, d < 1 || d >= 2 ? 's' : '',
               h = (uptime / 3600) % 24, h < 1 || h >= 2 ? 's': '',
               m = (uptime / 60) % 60, m < 1 || m >= 2 ? 's': '',
               s = uptime % 60, s < 1 || s >= 2 ? 's': '');
  2. 위를 uptime.aksh로 저장하면 다음과 같이 실행할 수 있습니다.
    $ ssh root@hostname < uptime.aksh
    Pseudo-terminal will not be allocated because stdin is not a terminal.
    Password:
    up 2 days, 10 hours, 47 minutes, 48 seconds

    의사 단말기 할당에 대한 메시지는 SSH 클라이언트 때문입니다. 이 메시지가 나타내는 문제는 SSH에 –T 옵션을 지정하여 관리할 수 있습니다.