Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo obtener el propietario de una carpeta o archivo en Bash para usarlo en un script

Para obtener el propietario de un archivo o carpeta en Linux se puede usar el comando stat, y de la siguiente manera se puede almacenar en una variable y usarlo cuando se quiera dentro de un script de bash:

owner=${stat -c '%U' /path/to/your/file}

Y para obtener de manera análoga el grupo de una carpeta o un archivo:

group=${stat -c '%G' /path/to/your/file}

Visto en el blog de Mattias Geniar.

Script para monitorizar y reiniciar automáticamente el servidor de base de datos mysql en caso de fallo

Imago voragine.net
• Por
Hay programas que permiten monitorizar todo un sistema y reiniciar los servicios que se paran o fallan de manera inesperada, todo esto automáticamente. Es el caso de monit, un programa que se ejecuta en segundo plano (daemon) eficaz y que no consume muchos recursos. Sin embargo hay veces que es más rápido y ligero hacer un pequeño script de bash y ejecutarlo periódicamente con cron. Esto es exactamente lo que he hecho para monitorizar el servidor de base de datos de uno de mis servidores web y reiniciarlo en caso de que se pare.

Cómo configurar el autocompletado para git en su versión línea de comandos, en Linux claro

Imago voragine.net
[actualizado el ] • Por Enlace permanente

Personalmente uso git desde la línea de comandos. Me resulta lo más rápido: me basta dejar vim en segundo plano y commitear; también lo más ligero ya que no tengo que tener otro programa GUI abierto para git.

Para que el uso de git en línea de comandos sea aún más ágil es fundamental activar el autocompletado de comandos de git.

Para ello basta bajarse el script de bash que añade esta función al paquete básico de git, alojarlo en nuestro directorio personal o donde se quiera, y añadir la siguiente línea al archivo .bashrc ubicado en nuestra carpeta personal:

source ~/.git-completion.bash

La línea anterior añade el script de autocompletado a la configuración de bash del usuario. La ruta hasta el archivo descargado tiene que ser correcta. En el ejemplo anterior hemos guardado el script como oculto en la carpeta personal del usuario.

Cómo interactuar con el servidor de base de datos sql mediante comandos, desde un script de bash

Imago voragine.net
• Por
Aunque generalmente nos comuniquemos con el servidor de base de datos SQL mediante PHP u otro lenguaje para generar una salida HTML, hay veces que es muy útil hacerlo usando un script de bash. Por ejemplo cuando queremos automatizar en nuestro servidor la creación de bases de datos, o ejecutar una búsqueda con reemplazo (search and replace) de un registro completo o de un cadena concreta. Para ejecutar consultas al servidor SQL en modo no interactivo, cosa que necesitamos para hacerlo desde un script, debemos acompañar la orden mysql con el modificador -e, al que daremos como valor la consulta en cuestión.

Usando bash y cron para automatizar la copia de seguridad de una base de datos

Imago voragine.net
[actualizado el ] • Por
Este post explica cómo programar un pequeño script en bash que hace copia de seguridad de una base de datos usando mysqldump, y envía el archivo sql generado a una dirección de correo usando el cliente de línea de comandos mutt. Así que hay que tener instalados estos dos paquetes en la máquina donde se vaya a hacer correr el script. El script se ejecutará con la frecuencia deseada usando cron.

Cómo ejecutar PHP periódicamente con cron en un servidor Linux

Imago voragine.net
[actualizado el ] • Por
Primero tenemos que tener la posibilidad de ejecutar un script PHP desde la línea de comandos, o en su defecto ejecutarlo con curl; en este tutorial lo haremos ejecutando el PHP directamente en la línea de comandos sin curl. Luego tenemos que generar el archivo PHP, y un script sh que ejecute el script PHP. Por último, configuraremos cron para que ejecute el script de bash con la periodicidad que necesitemos.

Cómo transformar la codificación de un archivo con vim

Imago voragine.net
[actualizado el ] • Por
Muchas veces la codificación de un archivo nos está volviendo locos, porque hace que no funcione algún script, y es lo último que se nos ocurre comprobar. A mí me pasa, por ejemplo, cuando hago un script en bash utilizando algún archivo que me ha pasado alguien que usa Windows, y por tanto viene con una codificación ISO-8859 en vez de UTF-8. Para evitar sorpresas, lo mejor es comprobar al principio la codificación y en caso de no ser UTF-8 cambiarla.

Cómo hacer un GIF animado desde la línea de comandos con ImageMagick

Imago voragine.net
[actualizado el ] • Por
Crear un GIF animado con ImageMagick, el editor de imágenes de la línea de comandos, es bien sencillo. Como materia prima para la animación tendremos un grupo de imagenes; cada uno de los fotogramas de la animación será una imagen, que tiene que estar en formato GIF.

Buscar una cadena de caracteres en una lista de archivos

Imago voragine.net
• Por
Script de bash para buscar una cadena de caracteres en una lista de archivos. for [variable] in [expresion regular]; do echo $[variable]; grep --color=always '[cadena]' $[variable] ;done Por ejemplo, for i in *.php; do echo $i; grep --color=always 'unas palabras' $i ;done busca en todos los archivos php que encuentre en la ubicación actual la […]