Principales conclusiones
- Obtiene la fecha de instalación de Linux: el script recupera la fecha de instalación de un sistema Linux utilizando el comando stat /.
- Se integra con NinjaOne: opcionalmente almacena la fecha de instalación en un campo personalizado utilizando la herramienta ninjarmm-cli de NinjaOne.
- Mejora la gestión del sistema: conocer la fecha de instalación ayuda a programar el mantenimiento y las actualizaciones.
- Compatibilidad universal con Linux: funciona en varias distribuciones de Linux.
- Seguridad y cumplimiento: ayuda a mantener la seguridad mediante el seguimiento de la antigüedad y el ciclo de vida del sistema.
- Automatiza el registro de datos: ofrece una solución automatizada en comparación con los métodos manuales.
- Apoya las estrategias proactivas de TI: permite la gestión proactiva y las sugerencias de actualización por parte de los MSP.
- Requiere una configuración mínima: fácil de implementar con conocimientos básicos de scripting y los permisos adecuados.
Introducción
En el dinámico panorama de las TI, es crucial mantener y supervisar los sistemas con eficacia. Un aspecto fundamental de la gestión de sistemas consiste en conocer el historial de tus máquinas, empezando por sus fechas de instalación. Este conocimiento puede ser especialmente vital para los profesionales de TI y los proveedores de servicios gestionados (MSP) que administran una flota de servidores Linux.
Contexto
El script en cuestión está diseñado para obtener la fecha de instalación de un sistema Linux y, opcionalmente, almacenarla en un campo personalizado. Es una herramienta valiosa para los profesionales de TI y los MSP, ya que proporciona información sobre la antigüedad del sistema, los programas de mantenimiento y el cumplimiento de las políticas del ciclo de vida del software.
El script:
#!/usr/bin/env bash
# Description: Fetches the install date and can store it in a custom field. Based on stat / .
#
# Release Notes: Initial Release
# By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
# Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms.
# Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party.
# Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider.
# Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations.
# Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks.
# Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script.
# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#
# Usage: [Custom Field]
# <> are required
# [] are optional
#
# Example: installdate
# Saves the install date to the customfield named installdate
#
function GetInstallDate() {
stat /
}
function SetCustomField() {
/opt/NinjaRMMAgent/programdata/ninjarmm-cli "$@"
}
# When run directly without testing, the "__()" function does nothing.
test || __() { :; }
__ begin __
# Parameters
CustomField=${installDateCF:=$1}
ISO_8601='%Y-%m-%d %T %Z'
Date=$(GetInstallDate | sed 's/ Birth: //' | tail --lines=1)
InstallDate=$(date -d "${Date}" "+$ISO_8601")
echo "${InstallDate}"
if [[ -n "${CustomField}" ]]; then
SetCustomField set "$CustomField" "$InstallDate"
fi
__ end __
Accede a más de 300 scripts en el Dojo de NinjaOne
Análisis detallado
El script funciona de manera sencilla:
- Función GetInstallDate: esta función llama a stat /, que recupera información detallada sobre el directorio raíz. Dado que el directorio raíz se crea durante la instalación, sus metadatos contienen la fecha de instalación.
- Función SetCustomField: esto utiliza la herramienta ninjarmm-cli para establecer un campo personalizado en el sistema de gestión NinjaOne, lo que permite un fácil seguimiento y presentación de informes.
- Flujo de ejecución: el script primero establece los parámetros y formatea la fecha de instalación en un formato legible ISO 8601. A continuación, imprime esta fecha y, si se proporciona, la almacena en un campo personalizado especificado.
Posibles casos de uso
Imagina un MSP que gestiona varios servidores de clientes. Conocer las fechas de instalación ayuda a programar el mantenimiento, las actualizaciones y las sustituciones. Por ejemplo, un MSP descubre que un servidor se acerca al final de su vida útil prevista y sugiere proactivamente actualizaciones al cliente.
Comparaciones
Alternativamente, las fechas de instalación pueden recuperarse manualmente o mediante otros métodos de scripting. Sin embargo, la integración de este script con NinjaOne ofrece un registro de datos racionalizado y automatizado, una ventaja significativa en operaciones a gran escala.
FAQ
- ¿Es exacta la fecha de instalación?
- La fecha recuperada es tan precisa como la fecha de creación del directorio raíz, que suele coincidir con la instalación del sistema.
- ¿Puede funcionar en cualquier distribución de Linux?
- Sí, utiliza comandos universales de Linux.
- ¿Qué pasa si mi sistema no tiene NinjaOne?
- El script sigue funcionando para mostrar la fecha de instalación; solo la función de almacenamiento de campos personalizados requiere NinjaOne.
Implicaciones
El conocimiento exacto de las fechas de instalación es fundamental para la seguridad y el cumplimiento de la normativa. Los sistemas que funcionan más allá de su ciclo de vida útil pueden plantear riesgos de seguridad. Actualizar y revisar a tiempo, siguiendo las fechas de instalación, ayuda a evitar estos riesgos.
Recomendaciones
Al utilizar este script:
- Asegúrate de que se ejecuta con los permisos adecuados.
- Comprueba periódicamente la exactitud de las fechas, especialmente después de cambios importantes en el sistema.
- Intégralo en las auditorías periódicas del sistema para obtener información exhaustiva.
Reflexiones finales
Este script, especialmente cuando se utiliza junto con NinjaOne, optimiza la gestión de la infraestructura de TI. Las capacidades de NinjaOne van más allá del mero registro de datos, ya que ofrece herramientas integrales para gestionar los ecosistemas informáticos con eficacia. En un mundo en el que las decisiones basadas en datos son clave, estas herramientas son indispensables para los profesionales de TI de hoy en día.