Go to main content
Guía de administración de Oracle® ZFS Storage Appliance, versión OS8.7.0

Salir de la Vista de impresión

Actualización: Marzo de 2017
 
 

Uso de la función Obtener

Como la función run es potente, puede resultar tentador recurrir solamente al análisis de la salida para obtener información del sistema, pero esto tiene la desventaja de que deja salidas de análisis de secuencias de comandos legibles para el ojo humano, que pueden cambiar o no en el futuro. Para recopilar información del sistema de manera más robusta, use la función "get" incorporada. En el caso de la propiedad boot_time, no devuelve la cadena, sino que devuelve el objeto Date de ECMAScript, que permite la manipulación del valor de la propiedad mediante programación.

  1. Por ejemplo, tal vez desee usar la propiedad boot_time en combinación con la hora actual para determinar el tiempo transcurrido desde el inicio:
    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. Suponiendo que lo anterior se guarda como "uptime.aksh", lo puede ejecutar de la siguiente manera:
    % 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

    El mensaje sobre la asignación pseudoterminal se debe al cliente ssh; para solucionar el problema al que hace referencia este mensaje se puede especificar la opción "-T" para ssh.