Oracle® ZFS Storage Appliance 관리 설명서, 릴리스 2013.1.5.0

인쇄 보기 종료

업데이트 날짜: 2016년 2월
 
 

Get 함수 사용

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

  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@dory < 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" 옵션을 지정하여 처리할 수 있습니다.