BASH – Obtener direcciones IP desde un archivo.

[crayon-6866404bad461863906731/]

Y obtendremos el siguiente resultado:

[crayon-6866404bad47d627279523/]

En el resaltado de color se muestra el contenido definido por nuestra expresión regular. En nuestro caso la expresión regular define 4 cifras entre el 0 y el 9, separadas por puntos. Cada una de las cifras entre el 0 y el 9 está separada puntos y podrá tener 1, 2 o 3 caracteres.

Si queremos que la salida del comando solo muestre las IP omitiendo las palabras localhost y gk55 podemos usar la opción -o. De este modo grep solo mostrará la cadena de texto o palabra de cada una de las líneas que coincide con nuestro criterio de búsqueda. Por lo tanto si ejecutamos el siguiente comando:

[crayon-6866404bad485084159875/]

Obtendremos el siguiente resultado:

[crayon-6866404bad48d119255597/]
Publicado en Unix - Linux | Deja un comentario

Script BASH – Array asociativo para contabilizar la cantidad de errores por tipo desde un archivo de LOG.

[crayon-6866404bae5cb255318757/]

En este ejemplo, se utiliza un array asociativo en bash (errores) para contabilizar la cantidad de errores por tipo desde un archivo de log ($archivo_log). El archivo de log se lee línea por línea utilizando un bucle while y el comando read, y luego se utiliza el comando cut para extraer el tipo de error de cada línea, asumiendo que los errores están separados por dos puntos («:») en el archivo de log. Luego, se incrementa la cuenta de errores en el array asociativo utilizando la sintaxis errores["$tipo_error"]++.

Finalmente, se muestra el resultado en la salida, iterando sobre las claves del array asociativo ("${!errores[@]}") y mostrando el tipo de error y la cantidad de errores correspondiente utilizando la sintaxis ${errores[$tipo_error]}.

Publicado en Unix - Linux | Deja un comentario

Script BASH – Respaldo incremental de directorio.

[crayon-6866404baf344830088446/]

En este ejemplo, se utiliza el comando rsync para realizar un respaldo incremental del directorio de origen ($directorio_origen) al directorio de destino ($directorio_destino). El respaldo se realiza utilizando las opciones -a para mantener los atributos y permisos, --delete para eliminar archivos en el directorio de destino que ya no existen en el directorio de origen, y --backup para crear copias de seguridad de los archivos modificados o eliminados.

Además, se utiliza la opción --backup-dir para especificar el directorio de destino donde se guardarán las copias de seguridad de los archivos modificados o eliminados, utilizando la fecha actual en el nombre del directorio ($directorio_destino$fecha_actual) para hacer que el respaldo sea incremental.

La información del respaldo se registra en un archivo de registro ($archivo_log) que incluye la fecha del respaldo, los directorios de origen y destino, y el directorio de destino donde se guardaron las copias de seguridad.

Publicado en Unix - Linux | Deja un comentario

Script BASH – Busqueda de multiples patrones en un archivo LOG.

[crayon-6866404bafc3b863382893/]

En este ejemplo, se definen los patrones a buscar en el archivo de log en el array patrones. Luego, se utiliza un bucle for para iterar sobre cada patrón y se utiliza el comando grep para buscar el patrón en el archivo de log especificado en la variable archivo_log. El uso de la opción -i en el comando grep hace que la búsqueda sea insensible a mayúsculas y minúsculas.

Puedes agregar o modificar los patrones en el array patrones según tus necesidades. Al ejecutar este script, mostrará las líneas del archivo de log que contienen los patrones buscados, con un separador «—» para cada patrón encontrado.

Ten en cuenta que este es solo un ejemplo básico y que puedes personalizar y expandir este script según tus necesidades específicas, como agregar más opciones de búsqueda, procesar resultados de búsqueda de diferentes maneras, o manejar errores y excepciones.

Publicado en Unix - Linux | Deja un comentario

Scripts BATCH – Modificar archivo HOSTS en WINDOWS.

[crayon-6866404bb0fe3510872461/]

En este script, se utiliza la variable dominio para especificar el nombre de dominio que deseas modificar, y la variable nueva_ip para especificar la nueva dirección IP que deseas asignarle. El script busca la línea que contiene el nombre de dominio en el archivo hosts, y si lo encuentra, lo reemplaza con la nueva dirección IP en un archivo temporal. Luego, sobrescribe el archivo hosts original con el archivo temporal, logrando así la modificación de la entrada.

Ten en cuenta que, al igual que en los ejemplos anteriores, necesitas tener privilegios de administrador en el sistema para ejecutar este script BATCH en DOS, y debes tener precaución al modificar el archivo hosts, siguiendo las políticas de seguridad y las leyes aplicables. Además, asegúrate de hacer copias de seguridad del archivo hosts antes de modificarlo, por si necesitas restaurarlo en caso de errores o problemas.

[crayon-6866404bb101b622720861/]

En este otro ejemplo, se utiliza la variable archivo_nuevas_lineas para especificar el nombre del archivo que contiene las nuevas líneas que se desean agregar. El script verifica si el archivo existe y, si es así, lee las líneas del archivo y las agrega al archivo temporal. Si el archivo no existe, muestra un mensaje de error indicando que no se encontró el archivo de nuevas líneas.

Publicado en Unix - Linux | Deja un comentario