Ayer necesitaba unos cambios en todos los ficheros de lista blanca para hosts con IP dinámica (conexión 3G/4G, salidas fuera de la oficina…) y la verdad si la ayuda sed, un potente mini-editor, sería un caos actualizar 100 máquinas virtuales y sus hosts anfitriones. Así que se me ha ocurrido crear este articulo, donde ire añadiendo secuencias de este potente editor que nos pueden salvar de horas de trabajo.
Contenidos
Tenia que añadir una variable de configuración, que en algunos casos existía y en otro no, al fichero de configuración de mi firewall CSF, con un formato VAR = «value», haciendo uso de && (AND) y || (OR), y encontré este tip, How to add a line in sed if not match is found
grep -q '^VAR' /path/file && sed -i 's/^VAR.*/VAR = "valor"/' /path/file || echo 'VAR = "valor"' >> /path/file
En mi caso también tenía que añadir dos nombres de host al fichero de lista blanca dinámico. Pero algunos de mis servicios, ya tenían esas lineas así que necesitaba verificar primero, si existía la cadena, para no duplicar lineas. Así que adapte,
grep -q 'cadena' /path/file || echo 'cadena' >> /path/file
En un fichero de texto (servidores.txt) tengo la lista de mis servidores, y de esta forma es mas sencillo hacer los cambios en todos ellos.
for s in $(cat servidores.txt); do echo "Servidor $s"; sshno -p24 root@$s "grep -q '^VAR' /path/file && sed -i 's/^VAR.*/VAR = "valor"/' /path/file || echo 'VAR = "valor"' >> /path/file"; done
sshno es una alias que tengo, para conexiones en las que no quiero verificar de forma estricta la conexión ssh, de forma que pueda trabajar de forma desatendida, por si aun no me conecte a ese host guardando las llaves de conexión.
alias sshno='ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
Imagen Designed by Freepik y adaptada por Abdelkarim Mateos
Comparte este artículo
Comparte este articulo en
No es la primera vez que me encuentro con el agotamiento de la memoria en…
Descubre cómo solucionar problemas de acceso a servidores con Centos 7, Almalinux 8, Ubuntu 20.04…
Uno de los mensajes más alarmantes que puedes encontrarte es aquel que indica que tu…
La seguridad de nuestro sitio web es de vital importancia en el mundo digital actual.…
Los ficheros SVG son archivos gráficos vectoriales escalables ampliamente utilizados en diseño web. Aunque no…
En este artículo, te guiamos en la solución de problemas de errores 500 en Castris…