Aunque me gusta que los programas sean flexibles y nos permitan una ejecución libre y sin restricciones. Además, quiero que permitan editar varios archivos a la vez y realizar múltiples conexiones. Hay software o scripts en los que debemos asegurar que sólo se haga una ejecución simultánea ante diferentes condiciones. Por ejemplo, si es un script para realizar copias de seguridad de nuestro sistema, tal vez nos interese que sólo se pueda lanzar una vez, porque sería un problema que se realicen dos copias de seguridad a la vez.… Leer artículo completo
Cómo permitir solo la ejecución de una instancia de nuestros scripts
Cómo listar archivos de forma recursiva en C, y un mundo de posibilidades en nuestros programas
Puede que seas un hacha con el comando find o incluso con locate; pero hay veces que nuestro software tiene que ser capaz de realizar la búsqueda de un archivo en el árbol de directorios, puede que queramos hacer inclusiones, exclusiones, o analizar las características del archivo.
Podemos tener varias misiones, por ejemplo calcular el tamaño que ocupan todos los archivos a partir de una ruta dada (como hace du -s), copiarlos a otra ruta como haría un gestor de archivos o, incluso buscar archivos repetidos.… Leer artículo completoY tú, ¿cuántas teclas eres capaz de pulsar en un día?
Un dato inútil si no fabricas teclados, y muy friki si te gustan este tipo de cosas. Además, depende del uso que hagas de un ordenador, si eres más de teclado o de ratón. Parece que no, pero somos muchos los que preferimos escribir qué queremos hacer que hacer varios clicks en determinadas zonas de la pantalla, o desplazamientos y arrastres con las correspondientes esperas ventana a ventana hasta que el ordenador conozca cuál es nuestro objetivo.… Leer artículo completo
Cómo especificar puerto y clave privada para SSH desde rsync
Si trabajamos a menudo con rsync para copiar archivos entre ordenadores, estaremos acostumbrados a una sintaxis parecida a esta:
$ rsync -avh origen usuario@servidor:destino
En realidad, para transmitir los archivos estaremos utilizando una conexión segura a través de ssh. Pero claro, en ocasiones, sería necesario utilizar algún argumento especial para ssh. En este ejemplo, imaginemos que queremos conectar al servidor por un puerto diferente del 22.
Podemos hacerlo así:
$ rsync -avh -e ‘ssh -p1234’ origen usuario@servidor:destino
y si accedemos por par de claves pública-privada, en el caso de que queramos especificar un archivo de clave privada específico para esta conexión (a mí me ha sucedido que he necesitado utilizar rsync como root para poder acceder a algunos archivos y las claves las tenía en el usuario actual), lo podemos hacer así:
$ rsync -avh -e ‘ssh -i archivo_identidad’ origen usuario@servidor:destino
Ahora, un ejemplo completo y concreto de todo, en el que queremos acceder a nuestro servidor SSH por el puerto 28, además, el archivo de identidad o clave privada es id_rsa_webserver dentro del directorio .ssh de nuestro usuario (muy útil si ejecutamos rsync como root) luego el origen serían todos los archivos que encontramos en www/ y los copiaremos en un directorio remoto de nuestro servidor (tenemos que tener permiso para escribir ahí)
$ rsync -avh -e ‘ssh -p28 -i /home/gaspar/.ssh/id_rsa_webserver’ www/* gaspar@miservidorweb.com:/home/web/externo/htdocs/
Configuración local de ssh
Otra posibilidad sería crear un archivo de configuración de ssh en nuestro ordenador, en el que podamos especificar los hosts a los que conectamos, el usuario que queremos utilizar, el archivo de identidad y el puerto.… Leer artículo completo
9 Trucos para manejar cadenas de caracteres en BASH y no morir en el intento
Aunque este tema lo he tratado alguna vez un poco más de pasada o con algún ejemplo concreto, vamos a ver ejemplos concretos de cosas que podemos hacer con una cadena de caracteres en Bash, para mejorar nuestros scripts, y sobre todo, para tener una pequeña documentación para mí, que siempre que necesito algo parecido me tiro un rato buscando…
El caso es que en versiones más o menos nuevas de BASH (más o menos desde hace 6 años o así), podemos usar muchos de estos trucos y no tenemos necesidad de utilizar programas externos (como tr, awk, sed y otros) en muchos casos, por lo que la ejecución se realizará mucho más rápida.… Leer artículo completo20 Cosas chulas que se pueden hacer en una terminal de GNU/Linux
Un poco como continuación de un post de hace casi 2 años, en el que comentaba ejemplos de cosas que se pueden hacer con Bash en una o dos líneas de código.
Ahora quiero hacer cosas un poco más complejas (y alguna que otra sencilla, pero curiosa), en una nueva sección de códigos para copiar y pegar en vuestros terminales:
Servidores
Montar un servidor FTP rápido
Ésta es una solución para un apaño, para el caso en que necesitemos activar un servidor FTP para pasar un fichero a alguien, o para que nos pasen algún fichero… o por ejemplo por si queremos instalar un plugin en WordPress rápidamente y somos unos paranoicos de la seguridad (y por tanto no queremos dejar un servidor FTP corriendo siempre).… Leer artículo completo
Ejecutar scripts mientras inicia el sistema
En ocasiones, queremos automatizar tareas al arranque del ordenador, tal vez para ofrecer asistencia remota (y enviarnos la IP del ordenador), actualizar una base de datos, correr scripts en una página web, hacer que el ordenador emita un sonido, inicializar un sistema antirrobo, o incluso interactúe con un arduino.
En muchas ocasiones, incluir nuestros scripts en /etc/rc.local basta, en Debian y derivadas lo encontramos fácilmente, en otras distribuciones también hay forma de hacerlo, aunque si necesitamos algo más complicado, como por ejemplo ejecutar varios scripts en un directorio determinado, en varios runlevels y que cuando se apague el ordenador se ejecuten otros scripts diferentes he hecho un pequeño init-script.… Leer artículo completo
Últimos comentarios