2011-03-10

Comandos de Automatización Simples

Yo soy medio impaciente cuando tengo que hacer procesos repetitivos, siempre he busco como hacer una comando que los haga, entonces como aporte voy a colocar algunos comandos para automatizar tareas simples:

1.  Cambiarle la extensión a múltiples archivos, (acuérdate que solo cambiarle la extensión no cambia el tipo de archivo esto es solo para la extensión), para el ejemplo es como tomar muchos txt y convertirlos en sh, el comando sería:

user@localhost ~$ for i in $(ls .); do /bin/mv $i $(echo $(echo $i | cut -f 1 -d ".").sh) ; done

 Debes estar ubicado en el directorio donde están los archivos a modificar


2. Crear una serie de usuarios, a veces toca en un servidor crear una serie de usuario (por ejemplo FTP)  manualmente a veces es incomodo entonces teniendo un archivo que se llame usuarios 

root@localhost ~# for i in $(cat usuarios); do adduser -g ftp -d /home/ftp/ $i ; done

Para los que se están preguntando, si la contraseña si toca a mano. 


3. Crear rutas automáticamente, por un cliente necesitábamos crear una serie de rutas esto manualmente es terrible entonces el comando es 

root@localhost ~# for i in $(seq 4 255); do ip route add 10.0.$i.0/24 via 10.0.3.249

Obviamente siempre es mejor hacer subredes pero a veces toca meterlas una a una por que no saben crearlas


4. A veces en entornos compartidos se generan problemas por que alguien crea un archivo y otro lo elimina, para esto se agrega un parámetro de permiso y solo lo puede eliminar el propietario y root, de la siguiente forma

root@localhost ~# for i in $(ls .); do chown o+t $i ; done

Estos para los que ya están en el directorio siquieres que todos lo que guarden en un directorio queden con esta característica le das el permiso al directorio


5. Modificar un fragmento del texto de una archivo y guardar el original con extensión bak, a veces necesitamos en un archivo de configuración modificar algunos parámetros pero guardando un backup de la configuración inicial, esto sería así

root@localhost ~# sed -i .bak 's/eth0/eth1/g' /etc/ntop.conf

Así cambiaremos la interface por la que escucha el ntop y guardmos el archivo original en ntop.conf.bak


Continuara.....