Книга: Тайм-менеджмент для системных администраторов
Резюме
Резюме
• Автоматизация — великая вещь. Она экономит ваше время. Кроме того, она позволяет вам поручить работу другому менее квалифицированному сотруднику.
• Есть четыре типа задач, с которыми сталкиваются системные администраторы:
? Простые задачи, выполняемые однократно
? Сложные задачи, выполняемые однократно
? Простые задачи, выполняемые часто
? Сложные задачи, выполняемые часто
• Сложные однократные задачи и простые задачи, выполняемые часто, являются самыми подходящими кандидатами на автоматизацию. Несмотря на возможный соблазн автоматизировать сложные задачи, выполняемые часто, для их выполнения лучше использовать готовые программные пакеты (коммерческие или бесплатные).
• Чтобы автоматизировать процесс, сначала убедитесь, что вы в состоянии выполнить его вручную. Затем задокументируйте все шаги и автоматизируйте каждый шаг в отдельности. После этого соберите шаги воедино.
• Используя псевдонимы, вы облегчите себе ввод команд. Это справедливо и в отношении систем с командной строкой, и для приложений, например SSH. Установите псевдоним по возможности максимально близко к приложению. Например, если задать псевдоним в файле конфигурации SSH, то все системы, работающие с SSH, будут использовать этот псевдоним.
• Команда make систем UNIX/Linux — исключительно мощный инструмент. Она предназначена не только для программистов. Вы можете применять ее для автоматизации задач системного администрирования. В системах UNIX/Linux, особенно на серверах, создавайте файл Makefile в каталоге /etc для автоматизации повседневных задач, таких как индексация псевдонимов, копирование данных и т. д.
• Языки оболочек bash и /bin/sh гораздо сложнее и мощнее, чем вы думаете. Примеры, приведенные в этой главе, демонстрируют, как следует обрабатывать опции командной строки и даже как написать небольшой детектор вредоносных программ!
• Если вы пишете длинную командную строку, тестируйте ее по частям.
• Если вы пишете код для пользователей, возрастает важность интерфейса. Существуют технические приемы, позволяющие создавать хорошие пользовательские интерфейсы. Вы можете избавить себя от хлопот, переложив ввод данных на программу вроде MS Excel. Вы также можете создать программу с меню или веб-интерфейс, чтобы позволить обычным пользователям получать доступ к привилегированным системам.
• Создавая код, позволяющий пользователям выполнять привилегированные операции, будьте предельно внимательны. В качестве базы используйте имеющиеся хорошо зарекомендовавшие себя средства безопасности, такие как sudo. С помощью таблицы разрешений объясните руководству, какой пользователь какие привилегии будет иметь. Разрешать или запрещать — дело руководства, а ваша задача заключается в том, чтобы помочь ему разобраться в вопросе. Прежде чем ввести систему в эксплуатацию, заручитесь согласием руководства.
• Развиваясь как системный администратор, вы будете автоматизировать все больше и больше задач. Я советую вам изучить язык программирования, подходящий для целей системного администрирования, например Perl, Python, Ruby или Shell. Также обращайте внимание на технику работы в конкретных операционных системах. Эти вопросы освещаются в книгах серии «Cookbook» (Сборник рецептов) издательства O'Reilly, упомянутых ранее в этой книге.