Scripting

Find + exec, para reemplazar cadenas en ficheros

Pequeño script para Linux que podemos ejecutar en la línea de comandos y que nos permite buscar una cadena y reemplazarla por otra, en múltiples ficheros. Esto es tremendamente útil cuando cambiamos algún nombre, un título de una página html, el nombre de un archivo… y queremos actualizar todos los ficheros que hacen referencia a él. Para ello basta con ejecutar:

find . -type f -exec sed -i s/cadenaVieja/cadenaNueva/g {} \;

Esta línea en concreto buscaría en el directorio actual, y reemplazaría en todos los ficheros las apariciones de cadenaVieja, por cadenaNueva.

Tags: , , , , , , , ,

Martes, junio 29th, 2010 Scripting No hay comentarios

Control de memoria RAM consumida por Apache en servidor web

Como bien sabéis estoy teniendo problemas con el servidor y Apache. En ocasiones sin saber muy bien por qué apache crea tantos hijos que sobrecarga el servidor hasta consumir toda la RAM disponible. Cuando llega a ese punto Linux se encarga de matar los procesos menos prioritarios para liberar recursos. En este caso cuando llega ese punto mata todos los procesos apache y el servidor web se cae.

Para tratar de evitar este problema y consultando con google he preparado este script basándome en un artículo que he encontrado en chuano.net.:

› Continuar leyendo

Tags: , , , , , , ,

Miércoles, febrero 18th, 2009 Hardware, Scripting 6 comentarios

Matar a la vez varios procesos con el mismo nombre

En alguna ocasión se me ha presentado la situación de tener que matar varios procesos con el mismo nombre, no siendo ninguno de los procesos el proceso padre. Por tanto si no utilizamos algo similar a lo que propongo, sería necesario ir matando uno por uno, todos los procesos. Esta tarea puede resultar sencilla si tenemos 3 o 4 procesos, pero si tenemos 15 la cosa empieza a ser más complicada. Para solventar esto propongo el siguiente script que he probado y funciona perfectamente:

kill -9 `ps -ef | grep -i nombreproceso | awk {'print $2'}`

Si tenéis alguna otra solución más sencilla no dudéis en poner un comentario. Gracias.

Tags: , , ,

Miércoles, enero 7th, 2009 Scripting No hay comentarios

Script eliminar archivos creados antes de X dias

Acabo de necesitar un script para eliminar todos los archivos creados antes de X dias, para realizar el mantenimiento de una carpeta en un servidor.

El script que nos permite esto es el siguiente:

find . -mtime +X -exec rm -rf {} \;  #(X es el número de dias)

Este script busca en la carpeta “.” los archivos no modificados hace más “X” dias, y los elimina sin pedir confirmación. Si en vez de los archivos modificados hace más de X dias, queremos los modificados hace “X” dias, quitamos el signo “+”. Si lo que queremos son los modificados hace menos de “X” dias, cambiamos el signo “+” por el signo “-”.

Tags: , , , , ,

Miércoles, noviembre 19th, 2008 Scripting 2 comentarios

Copias de seguridad con rsync

Es una práctica totalmente recomendada la realización de copias de seguridad o backups de nuestros archivos periódicamente, para evitar pérdidas de información, o mejor dicho, para que en el caso de que perdamos información, sea lo menos posible.

Para ello existen en el mercado múltiples herramientas de backup, que en algunos casos tienen una complejidad exagerada y en otros un precio que pagar. Pero en determinadas ocasiones, por ejemplo para hacer una copia de seguridad de la carpeta de mis documentos, o de la home, existen otras formas de hacerlo.

Si lo que deseamos es hacer una copia incremental (solo se copian los archivos que no han sido modificados, si no existen se crean, y si han sido borrados se dejan) en ese momento, basta con teclear en un terminal lo siguiente:

rsync -av directorio_origen directorio_destino

Donde el directorio de destino puede ser cualquier disco duro externo que hayamos montado previamente, u otra partición, o donde queramos. Preferentemente se debe copiar a un disco externo por eso de si se rompe nuestro disco duro.

Pero si queremos automatizar el proceso a una determinada hora (por ejemplo todos los dias, al mediodia que estamos comiendo), podemos meter el comando rsync dentro del cron en UNIX. Para ello vamos a un terminal y tecleamos:

crontab -e

De esta forma vemos las tareas que hay programadas para dicho usuario y añadimos la siguiente linea:

25 14 * * * rsync -av directorio_origen directorio_destino

Así todos los días a las 14:25 se realizará una copia incremental.

Tags: , , , , , , ,

Viernes, septiembre 19th, 2008 Scripting No hay comentarios

Buscador

 

Mi foto aleatoria

dsc_0319.jpg
 
 

Comentarios recientes

Natty: Actualmente Facebook ya permite navegar en https. ...
Maria del mar: Estoy totalmente de acuerdo vergonzoso! Me ha pasa...
F. Javier: Bueno , pensaba que solo yo tenia problemas con "E...
jose vazquez: Gracias por la ayuda Jhonatan, resolví mi problem...
Marisa: COMO MAREAR LA PERDIZ: LLamo al 900847384 de Aten...
carloscarlosnasarre: hola a mi tambien me atendio un personaje de endes...
Victor David: El video esta muy gracioso lo vi 3 veses y realme...
Enrique: tu link Descargar generador de sitemap para Google...
daniellillo: esta mui vien...
kalia: Me gusta la información útil que usted proporcio...
Matt Stoner: Tons of great info....thanks. I'm going to share ...
Josey: El caso de Facebook es más justificable… Ut...
alicia: hola amigo me podria dar los precios como cuantos ...
Ignacio: Por fin encuentro alguien que oriente el cómo den...
Jonathan Echeverria: Hola, ¿El problema es que no puedes mostrar la...
RASEC28: Hola Jonathan gracias por contestar no he logrado...
Jonathan Echeverria: Hola, por supuesto que es posible,ya que la MV la ...
RASEC28: HOLA A TODOS, SOY NUEVO EN ESTO DE LAS VM NECESITO...
soraya: a mi me han atendido tres operadores diferentes,ca...
Roinel Cequea: Buenas noches amigo, mi blog presenta ese problema...
totci: Gracias por tomarse el tiempo para discutir esto ,...
Diego Estrada Moreno: Desafortunadamente todo lo que se comenta en esta ...
Juan: A ti, al menos, te han cogido el teléfono. A mí...
mario fernandez: quisiera compartirla, con mis amigos , como hago...
mario fernandez: muy bueno, me agradaria mas como este, son hermoso...
mario fernandez: muy bueno...
LUIS: NO HE VISTO UN SERVICION DE ATENCION TAN MALO COMO...
Carlos A. Lizcano D.: Excelente aporte Jonathan! gracias a tu publicaciÃ...
Cristina: Mientras espero que ENDESA me conteste, he encontr...
Pedro Rueda Villegas: Gracias por compartir es de mucha ayuda, y nos qui...