Esto siempre se me olvida pero lo guardare aqui.
Muchas veces quiero correr un comando en varios servidores y no quiero entrar a cada uno por separado. La solucion es usar un ciclo sencillo.
Por ejemplo, digamos que quiero copiar el archivo /tmp/archivo.txt a /home/usuario/ en mis servidores server1, 2, 3... 5
Puedo ejecutar en server1:
for srv in server2 server3 server4 server5; do ssh $srv 'cp /tmp/archivo.txt /home/usuario/' ; done
Esto usara ssh para conectarse y correr el comando en cada server. Si tienes llaves de ssh configuradas no necesitaras un password.
Mostrando las entradas con la etiqueta bash. Mostrar todas las entradas
Mostrando las entradas con la etiqueta bash. Mostrar todas las entradas
martes, 26 de marzo de 2013
miércoles, 19 de agosto de 2009
Rapido: reemplazo de texto en una serie de archivos
A menudo se tiene que reemplazar una frase o una palabra en una cantidad de archivos que hace imposible hacerlo a mano. Eso si sabes que archivos tienen lo que necesitas.
Con el comando que pondre aqui puedes sustituir una palabra o frase en un archivo SIN abrirlo para edicion... o en todos los archivos que se encuentren de acuerdo a tu criterio de busqueda.
Vamos a plantearlo como problema.
Problema: Quiero reemplazar el año 2008 por 2009 en todos los archivos .html de un site.
Puedes usar el siguiente comando:
find . -name "*.html" | xargs perl -pi -e 's/2008/2009/g'
Aqui estamos combinando busqueda de archivos con find + el comando xargs + una expresion en perl ejecutada directamente desde nuestro shell sin crear un script.
Usando find y xargs se pueden hacer todo tipo de cosas que iremos viendo eventualmente.
Con el comando que pondre aqui puedes sustituir una palabra o frase en un archivo SIN abrirlo para edicion... o en todos los archivos que se encuentren de acuerdo a tu criterio de busqueda.
Vamos a plantearlo como problema.
Problema: Quiero reemplazar el año 2008 por 2009 en todos los archivos .html de un site.
Puedes usar el siguiente comando:
find . -name "*.html" | xargs perl -pi -e 's/2008/2009/g'
Aqui estamos combinando busqueda de archivos con find + el comando xargs + una expresion en perl ejecutada directamente desde nuestro shell sin crear un script.
Usando find y xargs se pueden hacer todo tipo de cosas que iremos viendo eventualmente.
Rapido: Lista de queries en MySQL
Para mi es muy entretenido ver datos y que pega contra las bases de datos. En ausencia del famoso "mytop" (luego escribire de el) aqui hay una forma de ver la lista de todos los queries ejecutandose en la base de datos.
La lista se actualiza cada segundo:
# watch -n 1 mysqladmin --user=root --password= processlist
Notas:
1. Esto lo debes correr desde la linea de comandos, no desde el cliente de MySQL
2. para cambiar el intervalo de actualizacion cambia el valor de "n"
3. despues de "password=" debes poner el password de tu base de datos
La lista se actualiza cada segundo:
# watch -n 1 mysqladmin --user=root --password= processlist
Notas:
1. Esto lo debes correr desde la linea de comandos, no desde el cliente de MySQL
2. para cambiar el intervalo de actualizacion cambia el valor de "n"
3. despues de "password=" debes poner el password de tu base de datos
Rapido: Calculadora en linea de comandos
Un dia estaba en una terminal y necesitaba una calculadora y como no encontre que hacer acabe recurriendo al celular sin embargo debe haber una mejor manera, no?
En RedHat / CentOS / Fedora puedes usar bc, ejemplo:
# bc -l
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5*8
40
100/5
20.00000000000000000000
Para salir presiona Ctrl - D ... y listo
En RedHat / CentOS / Fedora puedes usar bc, ejemplo:
# bc -l
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5*8
40
100/5
20.00000000000000000000
Para salir presiona Ctrl - D ... y listo
Suscribirse a:
Entradas (Atom)