Go to main content

Guía de administración de Oracle® ZFS Storage Appliance, versión OS8.8.x

Salir de la Vista de impresión

Actualización: Agosto de 2021
 
 

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 sólida, use la función incorporada get. 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. Para obtener valores programables más confiables, consulte Uso de la función Prop.

  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@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

    El mensaje sobre la asignación pseudoterminal se debe al cliente SSH. A fin de gestionar el problema al que hace referencia este mensaje, se puede especificar la opción –T para SSH.