Хватит работать сверхурочно, пора работать рационально для системных администраторов


Уровень 1. Программа, выполняющая основную задачу. Уровень 2



бет19/20
Дата25.07.2016
өлшемі2.53 Mb.
#220661
1   ...   12   13   14   15   16   17   18   19   20
Уровень 1. Программа, выполняющая основную задачу.

  • Уровень 2. Программа, которую пользователь запустит при помо­щи sudo. Она примет входные данные, проверит их, убедится, что он не пытается выполнить подозрительные действия, и вызовет первую программу.

  • Уровень 3. Дружественный пользователю интерфейс доступа к пре­дыдущим слоям, например веб-интерфейс или программа с меню.

    Приведу пример. В одной фирме, где я работал, имелась процедура пуб­ликации новой версии веб-сайта фирмы в Интернете. В процедуре были задействованы три веб-сервера (на самом деле это были виртуальные серверы на двух компьютерах, но эти подробности несущественны).

    www-draft.example.com



    Здесь разрабатывалась новая версия нашего веб-сайта.
    www-qa.example.com

    Сюда копировался новый вариант сайта для тестирования качест­ва. Сразу после создания копии для этих файлов устанавливался режим «только чтение». Если отдел контроля качества принимал сайт, мы должны были иметь гарантию, что опубликованным в Ин­тернете окажется именно представленный вариант.

    www.example.com

    Это был собственно сайт, который видела публика.

    Веб-дизайнеры просили системных администраторов скопировать но­вую версию на www-qa.example.com. Отдел контроля качества, одобрив сайт, сообщал системным администраторам, что его можно опублико­вать.

    Выполнение каждой из этих двух операций было автоматизировано командами:

    readyforqa

    Копировала эскиз сайта на сайт отдела контроля качества. golive

    Копировала сайт отдела контроля качества на сайт в Интернете.

    Отделу маркетинга требовался способ внесения экстренных измене­ний, когда сотрудники отдела контроля качества были вне досягаемо­сти. Мы создали еще одну команду:

    emergency-draft-to-live

    Она копировала эскиз сайта на сайт в Интернете после того, как не­сколько раз переспрашивала «Are you sure?» (Вы уверены?).

    Эти три сценария образовали Уровень 2, который я упомянул выше. Уровнем 1 был сценарий, который фактически копировал данные с од­ного сайта на другой, попутно создавая резервную копию и устанавли­вая запрет на запись в файлы (а также меняя владельцев файлов). Уровень 1 был доступен только из учетной записи root, потому что он менял владельцев файлов и обращался к серверам по защищенным ка­налам.

    Команда sudo была запрограммирована так, как показано в табл. 13.1.


    Таблица 13.1. Таблица разрешений на обновление веб-сайта






    Веб-разработчики

    Контроль качества

    Маркетинг

    Readyforqa

    X




    X

    Golive




    X




    Emergency-draft-to-live







    X







    Мы приложили определенные усилия, чтобы заставить руководство подписаться под этой схемой, т. е. поставить свои реальные подписи

    для гарантии того, что они понимают схему, с которой согласны на словах. Процесс получения подписей, как правило, шел очень туго. Он длился неделями. Представление информации в виде схемы облегчило руководству принятие решений. Менеджеры могли изучать ее и вно­сить изменения, сколько захотят. Преобразование окончательного ва­рианта в файл конфигурации sudo было делом техники.

    В отношении Уровня 3 мы приняли решение о необходимости предос­тавить пользователям удобный способ обращения к этим командам. В качестве варианта мы рассматривали веб-интерфейс, но в данном случае пользователи удовлетворились программой, которая выводила меню с перечнем опций и запускала нужную команду.

    Меню работало без всякий привилегий (т. е. не под sudo), но вызывало программы Уровня 2 с помощью sudo, если это требовалось.

    Резюме



    • Автоматизация - великая вещь. Она экономит ваше время. Кроме того, она позволяет вам поручить работу другому менее квалифици­рованному сотруднику.

    • Есть четыре типа задач, с которыми сталкиваются системные адми­нистраторы:

    • Простые задачи, выполняемые однократно

    • Сложные задачи, выполняемые однократно

    • Простые задачи, выполняемые часто

    • Сложные задачи, выполняемые часто

    • Сложные однократные задачи и простые задачи, выполняемые час­то, являются самыми подходящими кандидатами на автоматиза­цию. Несмотря на возможный соблазн автоматизировать сложные задачи, выполняемые часто, для их выполнения лучше использо­вать готовые программные пакеты (коммерческие или бесплатные).

    • Чтобы автоматизировать процесс, сначала убедитесь, что вы в со­стоянии выполнить его вручную. Затем задокументируйте все шаги и автоматизируйте каждый шаг в отдельности. После этого собери­те шаги воедино.

    • Используя псевдонимы, вы облегчите себе ввод команд. Это спра­ведливо и в отношении систем с командной строкой, и для приложе­ний, например SSH. Установите псевдоним по возможности макси­мально близко к приложению. Например, если задать псевдоним в файле конфигурации SSH, то все системы, работающие с SSH, будут использовать этот псевдоним.

    • Команда make систем UNIX/Linux - исключительно мощный инст­румент. Она предназначена не только для программистов. Вы може­те применять ее для автоматизации задач системного администриро­вания. В системах UNIX/Linux, особенно на серверах, создавайте файл Makefile в каталоге /etc для автоматизации повседневных за­дач, таких как индексация псевдонимов, копирование данных и т. д.

    • Языки оболочек bash и /bin/sh гораздо сложнее и мощнее, чем вы думаете. Примеры, приведенные в этой главе, демонстрируют, как следует обрабатывать опции командной строки и даже как напи­сать небольшой детектор вредоносных программ!

    • Если вы пишете длинную командную строку, тестируйте ее по час­тям.

    • Если вы пишете код для пользователей, возрастает важность интер­фейса. Существуют технические приемы, позволяющие создавать хорошие пользовательские интерфейсы. Вы можете избавить себя от хлопот, переложив ввод данных на программу вроде MS Excel. Вы также можете создать программу с меню или веб-интерфейс, чтобы позволить обычным пользователям получать доступ к приви­легированным системам.

    • Создавая код, позволяющий пользователям выполнять привилеги­рованные операции, будьте предельно внимательны. В качестве ба­зы используйте имеющиеся хорошо зарекомендовавшие себя сред­ства безопасности, такие как sudo. С помощью таблицы разреше­ний объясните руководству, какой пользователь какие привилегии будет иметь. Разрешать или запрещать - дело руководства, а ваша задача заключается в том, чтобы помочь ему разобраться в вопросе. Прежде чем ввести систему в эксплуатацию, заручитесь согласием руководства.

    • Развиваясь как системный администратор, вы будете автоматизиро­вать все больше и больше задач. Я советую вам изучить язык про­граммирования, подходящий для целей системного администриро­вания, например Perl, Python, Ruby или Shell. Также обращайте внимание на технику работы в конкретных операционных систе­мах. Эти вопросы освещаются в книгах серии «Cookbook» (Сборник рецептов) издательства O'Reilly, упомянутых ранее в этой книге.

    Эпилог

    Поздравляю! Вы прошли весь путь до конца. Что теперь?

    Во-первых, я рекомендую вам перечитать эту книгу. Повторенье- мать ученья. Если вы перечитаете (или хотя бы просмотрите) книгу, пока она еще свежа в вашей памяти, положительный эффект усилится.

    Во-вторых, мы лучше учимся на практике. Чем больше вы применяете на практике приемы, изложенные в этой книге, тем лучше вы ими ов­ладеваете. В какой-то момент вы обнаружите, что усвоили эти приемы достаточно хорошо, чтобы творчески развивать их в зависимости от ва­шего стиля жизни или конкретной ситуации. Один мой читатель заме­тил, что ему стало легче вести списки ежедневных дел, когда он в сво­ем органайзере поменял местами странички списка дел и расписания. Кто бы мог подумать! Хорошо все, что приносит хорошие результаты! Я лишь советую опробовать сперва мой подход, чтобы получить пред­ставление о системе в целом.

    В-третьих, будьте готовы к пробуксовке. Иногда вы будете возвра­щаться к своим старым привычкам. В этом нет ничего страшного, ес­ли вы отдадите себе отчет в происходящем и при первой возможности вернетесь к изложенной системе. Не исключено, что вам будет легче это сделать, перечитав соответствующую главу.

    В-четвертых, вы, вероятно, захотите прочитать традиционные книги по тайм-менеджменту, не ориентированные именно на системных ад­министраторов. Моя книга ориентирована на специфику профессии системного администратора и не уделяет внимание многим общим во­просам, хорошо освещенным в других работах. Рекомендую прочитать книгу Дэвида Аллена (David Allen) «Getting Things Done: The Art of Stress-Free Productivity»1, http://www.davidco.com.

    Что делать со всем этим «новым» свободным временем?



    Приемы, описанные в этой книге, подарят вам несколько свободных часов (если не дней) в неделю. Экономя чуть больше часа каждый день, вы выполните тот же объем работы за 4-дневную рабочую неделю.

    Что делать с этим свободным временем?

    Пожалуйста, не растрачивайте его впустую. Умоляю вас. Едва начав претворять приемы тайм-менеджмента в свою жизнь, я стал отдавать высвободившееся время моей тогдашней страсти - чтению новостей Usenet. Думаю, современный эквивалент этого занятия - чтение RSS- каналов с новостями, блогов, веб-сайтов и т. д. Все это пустая трата времени. Пожалуйста, не расходуйте свое вновь найденное время, ум­ножая непроизводительные дела в своей жизни.

    У меня есть идея получше.

    Отведите это вновь найденное время на борьбу с несправедливостью.

    Самый распространенный вид несправедливости, ежедневно наблю­даемый мной, - это то, как корпорации крадут наши жизни у наших семей. Однажды утром мы просыпаемся и обнаруживаем, что наши де­ти выросли, не зная нас, или что наши любимые ушли, потому что нас почти никогда не было рядом. И мы еще удивляемся: «Как быстро промчалось время!»

    Раньше существовал так называемый «неявный общественный дого­вор». Мы работаем на фирму 40 часов в неделю, а она платит нам, что­бы у нас были средства к существованию, и что-то отчисляет в пенси­онный фонд нам на старость. Это была честная сделка. Но теперь кор­порации отбирают у нас все больше времени без какой бы то ни было компенсации. Профессионал работает 60-70 часов в неделю, а потом подпадает под массовое сокращение штатов из-за ошибочных решений бестолковых топ-менеджеров, зарплата которых в 100, если не в 1000, раз превышает его зарплату. В 1990-е годы я работал в AT&T/Lucent, и нам постоянно напоминали, что могут уволить нас в любой момент независимо от того, насколько хорошо мы справляемся с работой. Нам говорили, что надо радоваться переходу от гарантированных пенсий к принципу «каждый сам за себя» в соответствии с новым пенсионным планом, принятым фирмой. И при этом в последние годы моей работы в этой компании руководство было поражено и встревожено снижени­ем лояльности сотрудников. Лояльность - улица с двусторонним дви­жением.

    Хотите совершить нечто радикальное, революционное? Воспользуй­тесь приемами, изложенными в этой книге, чтобы восстановить 40-ча­совую рабочую неделю и повысить качество личной жизни:

    • Отработав 40-часовую неделю, отправляйтесь домой. Будьте на­столько же лояльны к своему работодателю, насколько он лоялен к вам. Идите домой, отработав ежедневные 8 или еженедельные 40 часов.

    • Уделяйте больше времени любимому человеку. Каждый день дари­те ей/ему поцелуй продолжительностью не меньше 12 секунд (не 12 быстрых поцелуев; считайте до 12 во время одного долгого поцелуя. Почувствуйте разницу!) Говорите, как высоко вы цените ее/его.

    Включайте в свое расписание романтические свидания. Если в ва­шем карманном компьютере есть генератор случайных чисел, еже­дневно планируйте звонок любимому человеку на случайное время (отведите на разговор хотя бы 15 минут, чтобы не показаться тороп­ливым).

    • Проводите больше времени с детьми. Если у вас есть дети, занимай­тесь с ними чем-то еще, кроме совместного просмотра телепередач. Не знаете, чем заняться? Попробуйте спросить у них. Все еще не знаете? Обратитесь туда, где профи отыскивают ответы на все свои вопросы: поищите в Google строку «Куда пойти с детьми в [ваш го­род]». Нет своих детей? Станьте любящей тетушкой или добрым дя­дюшкой, о которых, возможно, сами мечтали в детстве.

    • Звоните родителям и другим людям, сыгравшим важную роль в ва­шей жизни. Включите в расписание регулярный звонок родителям и выделяйте на разговор не меньше часа. Они будут вам очень благо­дарны, а вы оцените важность такого общения, когда их не станет.

    В нашем мире есть и множество других форм несправедливости. Мои родители воспитали меня в убеждении, что люди не должны голодать, что расизм - зло, потому что необходимо ко всем людям относиться одинаково, и что мир на Земле - это Божья воля. Поэтому я борюсь с нищетой, расизмом и милитаризмом, где только могу.

    Решите для себя, какой вид несправедливости беспокоит вас больше всего, и используйте для борьбы с ним свои научно-технические знания:

    • Помогите какой-нибудь общественной организации, борющейся с несправедливостью, организуя ее веб-сайт. Найдите веб-сайт та­кой организации и помогайте его поддерживать. А еще лучше, установите систему управления контентом или ПО для ведения бло- гов, чтобы волонтеры этой организации могли поддерживать сайт без вашей помощи. Обеспечьте сайт системой, позволяющей вно­сить пожертвования «одним щелчком», например http://www.Just- Giving.com.

    • Помогите общественной организации в обслуживании компьюте­ров. Раз в неделю заходите в офис общественной организации, что­бы проверить состояние компьютеров и ответить на технические во­просы. Установите там автоматически обновляемые антивирусные программы. Проверьте работу системы резервного копирования данных. Если организации потребуются новые приложения, ока­жите помощь в их поиске и установке.

    • Станьте членом общественного совета школы, которую закончили.

    В детстве я был очень недоволен тем, что в моей школе упор делал­ся на спортивные занятия, а не на преподавание точных наук. Мес­та в школьном совете часто можно получить без всякого конкурса, но иногда соискателям приходится участвовать в избирательных компаниях с бюджетом в несколько сотен долларов. Получив место

    в школьном совете, вы сможете напрямую влиять на бюджет и при­оритеты развития школы. Субсидируйте программы борьбы с хули­ганством, шахматные клубы, общества борьбы за права сексуаль­ных меньшинств, преподавание музыки и живописи.



    Достарыңызбен бөлісу:
  • 1   ...   12   13   14   15   16   17   18   19   20




    ©dereksiz.org 2024
    әкімшілігінің қараңыз

        Басты бет