Entradas

zmprov

Necesité mandar un mail a todas las casillas de correo de un servidor Zimbra . Para obtener todas las direcciones recurro a zmprov . Esta es la herramienta de provisioning en zimbra, mediante la cual podemos crear, borrar y modificar cuentas desde la linea de comando. Para refrescarme esto recurrí a una pagina de zimbra con ejemplos de zmprov . Se ejecuta zmprov con el usuario zimbra, es fácil integrarla a scripts . O ejecutarlo mediante su(1) , Aquí pequeña lista de comandos útiles: Listar todos las cuentas: zmprov -l gaa -s <mailbox_server_hostname> Listar todos los administradores: zmprov gaaa Resetear una password: zmprov sp <user or admin email address> <new password> Borrar una cuenta: zmprov DeleteAccount {user@yourdomain|id|adminName} Crear una cuenta: zmprov CreateAccount {user@yourdomain} {passwd} Fijar la cuota: zmprov modifyAccount user@domain.com zimbraMailQuota <size> Reindexar un buzón: zmprov rim user@domain.com start

mkdir ... multiples directorios

Como casi todas mis entradas en este blog, tienen que ver con mi trabajo. Meses atrás, estaba mirando un script para crear paquetes en RedHat. La tarea a realizar era en el $HOME del usuario, crear dentro del directorio rpmbuild una lista dada de directorios.  Mi solución al problema: for lista in (SOURCES SRPMS SPECS RPMS tmp BUILD); do        mkdir ~/rpmbuild/${lista} done Una solucion distinta, pero recomendada por la literatura oficial de redhat.   mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD}   Pensando en Devops , con ANSIBLE se podría hacer de la siguiente forma:   - name: CREA Repositorio   file:     path: "{{ item }}"     state: directory     owner: root     group: root     mode: 0775   loop:     - /samwhere/rpmbuild/SOURCES     - /samwhere/rpmbuild/SRPMS     - /samwhere/rpmbuild/SPECS     - /samwhere/rpmbuild...

Adios, Hemingway - Leonardo Padura

Imagen
Es verano en esta parte del mundo . El año recién comenzó, todo transcurre con un ritmo más tranquilo. Algunos están de vacaciones, otros ya retornamos al trabajo. Época para leer alguna novela, cuando no se puede estar bajo el sol.  Ordenando los libros que se apilan en mi mesa de luz, encontré una novela de Leonardo Padura , que lei el pasado verano. Padura es un escritor cubano, de su imaginación nace el Teniente Mario Conde de la Policía de Investigación de Cuba. Un Detective/Investigador con aspiraciones de escritor, con un variopinto grupo de amigos. Adiós Hemingway integra la serie de "Mario Conde", es la quinta novela de la serie. Las cuatro primeras fueron llevadas a televisión en una miniserie llamada "Cuatro estaciones en la Habana" . La miniserie esta disponible en NETFLIX, me despertó la curiosidad y salí a recorrer librerías donde encontré a la novela que motivó este post.  Tapa de la edicion de Tusquets Editores (foto del autor) ...

2 articulos: History of Linux - Getting Started with FreeBSD

Hace un rato Federico nos compartía (a algunos amigos y colegas) dos articulos de DigitalOcean . Los acabo de terminar y quiero dejarlos en una entrada del blog. Estan especialmente interesantes para quien esta dando sus primeros pasos en Linux o FreeBSD, así como para docentes y alumnos de cursos de Sistemas Operativos o Linux. El primero, History of Linux , nos presenta un relato desde la previa a  la creacion de Linux. Linux existe por que existe el proyecto GNU . Pero antes existió Minix , que debe sus raíces a BSD y a UNIX . Y no olvidarse de MULTICS . Pero no se queda en la sumatoria de hechos históricos, va a los datos técnicos, a las innovaciones que hicieron que UNIX desde un origen tuviera la relevancia que tiene. Y como eso repercutió en los sistemas operativos inspirados o desarrollados a partir de el. El otro articulo, es un listado de una serie de artículos para facilitar el primer contacto con FreeSBD a quien tiene experiencia con Linux.  En Getting Start...

C elements of Style

Programar es análogo a escribir. De pequeños aprendemos poner letra tras letra para formar palabras y estas forman frases.  Análogamente quien aprende a programar escribe programas cortos, aprendiendo a manejar archivos o familiarizarse con las estructuras de control.  Cuando pasamos la etapa de programas cortos, de unos cientos del lineas, a programas más complejos, bibliotecas o sistemas completos es necesario aprender a estructurar estos programas.A lo largo del ciclo de vida un programa este va a sufrir modificaciones. Para poder modificar un programa es necesario entender su funcionamiento, hablamos allí de "código legible" . Hay quien compara el código difícil de leer con un plato de tallarines , hablamos de "spaghetti code" . En producción escrita se habla de "estilo" para redactar bien y con propiedad. Si hablamos de programar también se habla de estilo. Y pasa por cosas que escuchamos hasta el hartazgo: comentar el código, nombres de var...

Pan de Banana

Imagen
El pan de Banana es de los llamados Panes rápidos , utilizan polvo de hornear en vez de levadura biológica . Este pan tiene origen en USA , en la década de los años 30 del pasado siglo . Una de las explicaciones de su origen afirma que lo inventaron amas de casa, como una forma de aprovechar bananas demasiado maduras para su consumo. En una tarde lluviosa, buscando hacer algo distinto y rápido, encaré una receta de pan de banana, que saqué del Libro del Crandon . A la que hice algunos cambios: sustituí parte de la harina por harina integral y la manteca la cambié por aceite vegetal; este ultimo usé aceite de Girasol , lo que tenia en casa en ese momento; puede ser interesante hacerlo con aceite de oliva. Tamizar y Mezclar: 1 y 1/2 Taza de Harina de Trigo (340 Gr) 1/2 Taza de Harina Integral  (110 Gr.) 1 cucharada de polvo de Hornear (10 Gr.) 1/2 Cucharadita de Sal 1/2 taza de Azúcar (100 Gr)  Mezclar en otro Bowl: 2 Huevos batidos 50 ml de Aceite (u...

Listar Esquemas y Tablas de Oracle

Una de mis tareas laborales es fungir como DBA de una base de datos Oracle . Para un nuevo proyecto necesitaba crear un usuario y darle a ese usuario permisos de SELECT sobre todas las tablas de un Esquema .  Estuve investigando y llegué a algunas consultas útiles, pero todo repartido en varios sitios.  Listar todos los SCHEMAS Esta consulta la encontré en sitio de Burleston Consulting , un referente para todos los que tenemos que lidiar con bases de datos Oracle. Si nunca visitaron el sitio vale la pena hacerlo. La consulta la encontré aquí .  SELECT DISTINCT owner AS SCHEMA FROM dba_segments WHERE owner IN (SELECT username                   FROM dba_users                  WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX')) ORDER BY owner ASC; Listar todas las tablas de un SCHEMA Encontré var...