Hace algún tiempo leí que una de las características distintivas de un administrador/ingeniero de sistemas eficaz es la pereza. Parecía un poco contradictorio al principio, pero luego el autor procedió a explicar por qué:
Serie RHCE: Automatice las tareas de mantenimiento del sistema Linux-Parte 4
Si un administrador de sistemas pasa la mayor parte de su tiempo resolviendo problemas y realizando tareas repetitivas, puede sospechar que no está haciendo las cosas bien. En otras palabras, un administrador/ingeniero de sistemas eficaz debe desarrollar un plan para realizar tareas repetitivas con la menor cantidad de acción posible de su parte, y debe prever problemas utilizando,
por ejemplo, las herramientas revisadas en la Parte 3: Supervisar los informes de actividad del sistema mediante los conjuntos de herramientas de Linux de esta serie. Por lo tanto, aunque parezca que no está haciendo mucho, es porque la mayoría de sus responsabilidades se han resuelto con la ayuda de scripts de shell, que es de lo que vamos a hablar en este tutorial.
Table of Contents
¿Qué es un script de shell?
En pocas palabras, un script de shell es nada más y nada menos que un programa que se ejecuta paso a paso por un shell, que es otro programa que proporciona una capa de interfaz entre el kernel de Linux y el usuario final.
De forma predeterminada, el shell utilizado para las cuentas de usuario en RHEL 7. es bash (/bin/bash ). Si desea una descripción detallada y algunos antecedentes históricos, puede consultar este artículo de Wikipedia.
freestar.config.enabled_slots.push
Para obtener más información sobre el enorme conjunto de funciones que ofrece este shell, puede consultar su página de manual. que se descarga en formato PDF en (Bash Commands). Aparte de eso, se supone que está familiarizado con los comandos de Linux (si no es así, le recomiendo encarecidamente que consulte el artículo Una guía de principiantes para administradores de sistemas en Tecmint.com. antes de continuar). Ahora comencemos.
Escribir un script para mostrar información del sistema
Para nuestra conveniencia, creemos un directorio para almacenar nuestros scripts de shell:
# mkdir scripts # cd scripts
Y abra un nuevo archivo de texto llamado system_info.sh con su editor de texto preferido. Comenzaremos insertando algunos comentarios en la parte superior y algunos comandos después:
#!/Bin/bash # Script de muestra escrito para la Parte 4 de la serie RHCE # Este script devolverá el siguiente conjunto de información del sistema: #-Información del nombre de host: echo-e ” e [31; 43m ***** INFORMACIÓN DEL NOMBRE DE HOST. ***** e [0m” hostnamectl echo “” #-Uso de espacio en disco del sistema de archivos: echo-e ” e [31; 43m ***** USO DEL ESPACIO DEL DISCO DEL SISTEMA DE ARCHIVOS. ***** e [0m” df-h echo “” #-Memoria libre y usada en el sistema: echo-e ” e [31; 43m ***** MEMORIA LIBRE Y USADA. ***** e [0m” eco libre “” #-Tiempo de actividad y carga del sistema: echo-e ” e [31; 43m ***** CARGA Y TIEMPO DE ACTIVIDAD DEL SISTEMA. ***** e [0m” eco de tiempo de actividad “” #-Usuarios registrados: echo-e ” e [31; 43m ***** USUARIOS QUE HAN INICIADO ACTUALMENTE. ***** e [0m” who echo “” #-Los 5 procesos principales en lo que respecta al uso de memoria echo-e ” e [31; 43m ***** LOS 5 PROCESOS DE CONSUMO DE MEMORIA PRINCIPALES. ***** e [0m” ps-eo% mem,% cpu, comm–sort =-% mem | head-n 6 echo “” echo-e ” e [1; 32m Hecho. e [0m”
A continuación, dé al script permisos de ejecución:
# chmod + x system_info.sh
y ejecute it:
./system_info.sh
Tenga en cuenta que los encabezados de cada sección se muestran en color para una mejor visualización:
Secuencia de comandos de shell de supervisión del servidor
Esta funcionalidad la proporciona este comando:
echo-e” e [ COLOR1; COLOR2m . e [0m ”
Donde COLOR1. y COLOR2. son los colores de primer plano y de fondo, respectivamente (más información y opciones se explican en esta entrada de Arch Linux Wiki) y . es la cadena que desea mostrar en color.
Tareas de automatización
Las tareas que puede necesitar automatizar pueden variar de un caso a otro. . Por lo tanto, no podemos cubrir todos los escenarios posibles en un solo artículo, pero presentaremos tres tareas clásicas que se pueden automatizar usando scripts de shell:
1). actualizar el local base de datos de archivos, 2) busque (y alternativamente elimine) archivos con permisos 777. y 3). alerta cuando el uso del sistema de archivos supera un límite definido.
Vamos a cree un archivo llamado auto_tasks.sh en nuestro directorio de scripts con el siguiente contenido: