folder

Эффективное управление серверами UNIX и Linux.

Гифт Н., Джонс Д. "Python в системном администрировании UNIX и Linux"Символ-Плюс, 2009 год, 512 стр. (6,37 мб. djvu + 4,13 мб. Source Code)

Книга показывает как можно эффективно использовать язык программирования Python для системных администраторов. Решать многие повседневные задачи управления серверами UNIX и Linux с его помощью. Все задачи разбиты по главам, где показаны примеры практического применения скриптов для резервного копирования данных, архивирования или созданию собственных инструментов командной строки, создание многозадачных приложений, разработки сценариев для выполнения запланированных задач.

Темы рассмотренные в книге: организация разделения процессов и информационное взаимодействие между ними с использованием сетевых протоколов и задач. Разработка интерактивных программ с графической оболочкой. Обработка обращений и взаимодействие с базами данных. Создание многозадачных приложений работающих с Google App Engine.

Кроме того, авторы книги создали доступную для загрузки и свободно распространяемую - VM (виртуальную машину на базе Ubuntu), включающую исходные тексты примеров из книги и способную выполнять примеры, использующие SNMP, IPython, SQLAlchemy и многие другие утилиты. Книга рассчитан на системных администраторов и программистов, начинающих осваивать язык Python.
ISBN 978-5-93286-149-3 ISBN 978-0-596-51582-9 (англ)

Оглавление.

1. Введение 21
Почему Python 21
Мотивация 28
Основы 29
Выполнение инструкций в языке Python 30
Использование функций в языке Python 35
Повторное использование программного кода с помощью инструкции import 39

2. IPython 45
Установка IPython 46
Базовые понятия 48
Справка по специальным функциям 56
Командная оболочка UNIX 61
Сбор информации 81
Автоматизация и сокращения 95
В заключение 101

3. Текст 102
Встроенные компоненты Python и модули 103
Анализ журналов 146
ElementTree 153
В заключение 158

4. Создание документации и отчетов 159
Автоматизированный сбор информации 160
Сбор информации вручную 163
Форматирование информации 174
Распространение информации 180
В заключение 185

5. Сети 186
Сетевые клиенты 186
Средства вызова удаленных процедур 199
SSH 206
Twisted 209
Scapy 216
Создание сценариев с использованием Scapy 219

6. Данные 221
Введение 221
Использование модуля OS для взаимодействия с данными 222
Копирование, перемещение, переименование и удаление данных 224
Работа с путями, каталогами и файлами 226
Сравнение данных 230
Объединение данных 233
Поиск файлов и каталогов по шаблону 239
Обертка для rsync 241
Метаданные: данные о данных 244
Архивирование, сжатие, отображение и восстановление 246
Использование модуля tarfile для создания архивов TAR 246
Использование модуля tarfile для проверки содержимого файлов TAR 249

7. SNMP 252
Введение 252
Краткое введение в SNMP 252
IPython и Net-SNMP 256
Исследование центра обработки данных 260
Получение множества значений с помощью SNMP 263
Создание гибридных инструментов SNMP 270
Расширение возможностей Net-SNMP 271
Управление устройствами через SNMP 275
Интеграция SNMP в сеть предприятия с помощью Zenoss 276

8. Окрошка из операционных систем 278
Введение 278
Кросс-платформенное программирование на языке Python в UNIX 279
Pylnotify 291
OS X 293
Администрирование систем Red Hat Linux 298
Администрирование Ubuntu 299
Администрирование систем Solaris 299
Виртуализация 300
Облачная обработка данных 301
Использование Zenoss для управления серверами Windows из Linux 309

9. Управление пакетами 313
Введение 313
Setuptools и пакеты Python Eggs 314
Использование easy_install 315
Дополнительные особенности easy_install 318
Создание пакетов 324
Точки входа и сценарии консоли 329
Регистрация пакета в Python Package Index 330
Distutils 332
Buildout 335
Использование Buildout 335
Разработка с использованием Buildout 339
Virtualenv 339
Менеджер пакетов ЕРМ 344

10. Процессы и многозадачность 350
Введение 350
Модуль subprocess 350
Использование программы Supervisor тдля управления процессами 361
Использование программы screen для управления процессами 364
Потоки выполнения в Python 365
Процессы 378
Модуль processing 379
Планирование запуска процессов Python 382
Запуск демона 384
В заключение 388

11. Создание графического интерфейса 390
Теория создания графического интерфейса 390
Создание простого приложения PyGTK 392
Создание приложения PyGTK для просмотра файла журнала веб-сервера Apache 394
Создание приложения для просмотра файла журнала веб-сервера Apache с использованием curses 398
Веб-приложения 403
Django 404
В заключение 426

12. Сохранность данных 427
Простая сериализация 428
Реляционная сериализация 448
В заключение 458

13. Командная строка 459
Введение 459
Основы использования потока стандартного ввода 460
Введение в optparse 462
Простые шаблоны использования optparse 462
Внедрение команд оболочки в инструменты командной строки на языке Python 470
Интеграция конфигурационных файлов 477
В заключение 479

14. Практические примеры 480
Управление DNS с помощью сценариев на языке Python 480
Использование протокола LDAP для работы с OpenLDAP, Active Directory и другими продуктами из сценариев на языке Python 482
Составление отчета на основе файлов журналов Apache 484
Зеркало FTP 492
Приложение. Функции обратного вызова 496
Алфавитный указатель 499

Скачать книгу бесплатно6,37 мб. djvu Скачать Source Code бесплатно4,13 мб.