Python para administración de sistemas unix y linux

Python para administración de sistemas unix y linux
Recomendar a un amigo Añadir a mis libros
No disponible


Python es un potente lenguaje de programación orientado a objetos. Su combinación de estructuras de alto nivel, escritura de datos dinámica y un rico soporte de librerías lo convierten en una excelente aplicación para la programación. El lenguaje ofrece una forma eficaz para solucionar varias tareas cuando gestiona servidores Unix y Linux.

Con este libro aprenderá a desplegar sus aplicaciones Python y bibliotecas, y a escribir código que se ejecuta igualmente bien en plataformas Unix y Linux. Cada capítulo presenta un tema administrativo determinado, como concurrencia o backup de datos, y ofrece soluciones a través de ejemplos prácticos. Aprenderá a desarrollar su propio conjunto de utilidades de línea de comando con Python para abordar una amplia variedad de problemas.

Los autores también han creado una máquina virtual Ubuntu gratuita que puede descargar y que incluye el código fuente del libro y ejecuta ejemplos con SNMP, IPython, SQLAlchemy, y otras utilidades.

Prólogo

Prefacio
Convenciones utilizadas en este libro
Código fuente
Sobre la imagen de cubierta

Capítulo 1. Introducción
¿Por qué Python?
Motivación
Los conceptos básicos
Ejecutar sentencias en Python
Resumen
Utilizar funciones en Python
Reutilizar código con la sentencia import

Capítulo 2. IPython
Instalar IPython
Conceptos básicos
Interactuar con IPython
Completar con el tabulador
Función mágica edit
Configurar IPython
Ayuda con funciones mágicas
Shell Unix
alias
Ejecutar shell
rehash
rehashx
cd
bookmark
dhist
pwd
Ampliación de variable
Procesado de cadena
Perfil sh
Recopilación de información
page
pdef
pdoc
pfile
pinfo
psource
psearch
who
who_ls
whos
Historia
Soporte readline
Comando hist
Resultados de historia
Automatización y métodos abreviados
alias
macro
store
reset
run
save
rep
Resumen

Capítulo 3. Texto
Componentes incorporados y módulos Python
str
Crear cadenas
Métodos incorporados para extracción de datos str
Cadenas Unicode
re
Modificar el archivo de configuración Apache
Trabajar con archivos
Crear archivos
Leer archivos
Escribir archivos
Recursos adicionales
Entrada y salida estándar
StringIO
urllib
Análisis de log
ElementTree
Resumen

Capítulo 4. Documentación y recogida de datos
Recopilación automática de información
Recibir correo electrónico
Recopilación manual de información
Aplicar formato a información
Imágenes gráficas
PDF
Distribución de información
Enviar correo electrónico
Enviar mensajes básicos
Utilizar autenticación SMTP
Enviar anexos con Python
Trac
Resumen

Capítulo 5. Interconexión
Clientes de red
socket
httplib
ftplib
urllib
urllib2
Llamada a procedimiento remoto
XML-RPC
Pyro
SSH
Twisted
Scapy
Crear scripts con Scapy

Capítulo 6. Datos
Introducción
Utilizar el módulo OS para interactuar con datos
Copiar, mover, renombrar y eliminar datos
Trabajar con rutas de acceso, directorios y archivos
Comparar datos
Utilizar el módulo filecmp
Utilizar os.list
Combinar datos
Comparaciones de suma de verificación MD5
Coincidencia de patrones de archivos y directorios
Envolver rsync
Metadatos: datos de datos
Archivar, comprimir, trabajar con imágenes y restaurar
Utilizar el módulo tarfile para crear archivos TAR
Utilizar un módulo tarfile para examinar los contenidos de archivos TAR

Capítulo 7. SNMP
Introducción
Breve introducción a SNMP
Visión de conjunto SNMP
Instalación y configuración SNMP
IPython y Net-SNMP
Identificar un centro de datos
Recuperar múltiples valores con Net-SNMP
Encontrar memoria
Crear herramientas SNMP híbridas
Ampliar Net-SNMP
Control de dispositivo SNMP
Integración SNMP con Zenoss
API Zenoss
Utilizar Zendmd
API dispositivo

Capítulo 8. Variedad de sistemas operativos
Introducción
Programación Unix multiplataforma en Python
Utilizar claves SSH, directorio fuente adaptado a NFS, y Python multiplataforma para gestionar sistemas
Crear una herramienta de gestión de sistemas multiplataforma
Crear un red build multiplataforma
PyInotify
OS X
Programar DSCL o utilidad de servicios de directorio
API de programación OS X
Redibujar máquinas automáticamente
Gestionar archivos Plist desde Python
Administración de sistemas Linux Red Hat
Administración Ubuntu
Administración de sistemas Solaris
Virtualización
VMware
Cloud Computing
Amazon Web Services con Boto
Google App Engine
Crear una aplicación de ejemplo Google App Engine
Utilizar Zenoss para gestionar servidores Windows desde Linux

Capítulo 9. Gestión de paquetes
Introducción
Setuptools y Python Eggs
Utilizar easy_install
Características avanzadas de easy_install
Buscar paquetes en una página Web
Instalar distribución fuente desde URL
Instalar egg localizado en sistema de archivo local o de red
Actualizar paquetes
Instalar una distribución fuente descomprimida en directorio actual de trabajo
Extraer distribución fuente en directorio especificado
Cambiar versión activa del paquete
Cambiar archivo independiente .py a egg
Autenticarse en un sitio protegido con contraseña
Utilizar archivos de configuración
Resumen de características avanzadas de easy install
Crear eggs
Puntos de entrada y scripts de consola
Registrar un paquete con el Python Package Index
Dónde puedo aprender más sobre?
Distutils
Buildout
Utilizar Buildout
Desarrollar con Buildout
virtualenv
Crear un entorno virtual de arranque personalizado
Gestor de paquetes EPM
Requisitos e instalación del gestor de paquetes EPM
Crear una herramienta de línea de comando Hello World para distribuir
Crear paquetes específicos de plataforma con EPM
Crear el paquete
Resumen EPM: realmente es así de sencillo

Capítulo 10. Procesos y concurrencia
Introducción
Subprocess
Utilizar códigos de retorno con Subprocess
Utilizar Supervisor para gestionar procesos
Utilizar Screen para gestionar procesos
Hilos de ejecución en Python
Demora programada de los hilos de ejecución con threading.Timer
Manejador de evento de hilo de ejecución
Procesos
Módulo processing
Programar procesos Python
daemonizador
Resumen

Capítulo 11. Crear aplicaciones GUI
Teoría para la creación de GUI
Crear una sencilla aplicación PyGTK
Crear un visor de logs Apache utilizando PyGTK
Crear un visor de logs Apache utilizando curses
Aplicaciones Web
Django
Aplicación de visor de logs Apache
Aplicación sencilla de base de datos
Conclusión

Capítulo 12. Persistencia de datos
Serialización sencilla
Pickle
cPickle
shelve
YAML
ZODB
Serialización relacional
SQLite
ORM Storm
ORM SQLAlchemy
Mike Bayer
Resumen

Capítulo 13. Línea de comando
Introducción
Uso básico de la entrada estándar
Introducción a Optparse
Sencillos patrones de uso optparse
Patrón de uso sin opciones
Patrón de uso True/False
Patrón de uso contar opciones
Patrón de uso opciones
Patrón de uso opción con múltiples argumentos
Mashups Unix: Integrar comandos shell con herramientas de línea de comando Python
Patrón de uso Kudzu: Envolver una herramienta en Python
Patrón de diseño híbrido Kudzu: Envolver una herramienta en Python, y luego cambiar el comportamiento
Patrón de diseño híbrido Kudzu: Envolver una herramienta Unix en Python para producir procesos
Integrar archivos de configuración
Resumen

Capítulo 14. Ejemplos pragmáticos
Gestionar DNS con Python
Utilizar LDAP con OpenLDAP, Active Directory, y más con Python
Importar un archivo LDIF
Presentación de informes de archivos log Apache
FTP espejo

Apéndice. Rellamadas

Índice alfabético

Introducir comentario
Libros escritos por
Si no se cargan automáticamente los resultados, pulse aqui para cargar
Si no se cargan automáticamente los resultados, pulse aqui para cargar