Выбрать главу

You aren't done until your customer tests it, too. You may think you've tested things sufficiently, but until the customer has done his own tests, you really don't know whether you've fixed his problem.

The strangest problems often turn out to be misconfigured DNS. DNS is critical to so many subsystems, often in obscure ways, that a problem with DNS can mask itself as other problems. This goes for a client that can't reach its DNS servers, as well as a host with invalid DNS data describing it, or a client trying to reach a host with invalid DNS data.

The delegate, record, or do process permits you to take back control of your time. Use this when your project work is interrupted. Delegating the task means handing it off to someone else. Recording the task lets you acknowledge the request, but schedule it for later. Doing the task is your last resort, but it should be used for emergencies and outages.

When you record it, you gain the ability to plan and schedule rather than being interrupt driven. This is something we discuss further in Chapter 8.

When you acknowledge a request, you should do it in a visually meaningful way. Make sure the person sees you record it, and confirm it with her.

Customers would rather have a request acknowledged than not know whether it was received, even if this means the request is being delayed.

Request-tracking systems like RT let you record requests in a central database that other system administrators can access and that customers can use to check a request's status.

Never trust your brain to remember a request. Record the request on paper or digitally. Your brain has better things to do.

Just Start

Once you get started, it won't be as difficult as you thought. In fact, often we don't begin a task because we make excuses about how much time something will take, but once we get started, we find out that the task is relatively quick.

A friend who promised to give me feedback on chapters of this book as they were written was weeks late with her notes on Chapter 1. She kept putting off getting started because she told herself she couldn't start until she found a full two-hour block to do a really good job. It turned out that Chapter 1 was less than 10 pages and only required about a half-hour to review.

If she had just started—instead of making up rules about when she could start—she would have been done much sooner.

Chapter 3. Routines

The term "routine" has a bad reputation. How many times have you seen advertisements for products that promise to "get you out of that old routine" or refer to a "boring routine?" Boring is bad, right?

No! As a system administrator I crave boredom. I want an entire week when things happen on schedule, projects get done on time, software installs without trouble, and documentation gives me the right answer. "Give me just one boring day!" I shout when a big server crashes or a customer comes to me with an impossible but urgent request.

What I wouldn't give for an entire boring month!

There are technical means to improve the situation. We can make things more boring (in a good way!) through long-term planning and suitable infrastructure that makes things run smoother. For example: automating new machine installation so that every host starts out the same, controlling and enforcing updates so all hosts stay in sync, keeping security infrastructure in place so that it is ubiquitous and less burdensome, and so on. There are books about those topics already—I happen to prefer The Practice of System and Network Administration (Addison Wesley).

I don't want to make system administration 100 percent boring—I don't think that's actually possible. As long as there are new software packages to try or new hardware platforms to explore, there will always be plenty of fun in system administration.

There will also be a certain amount of chaos. System administration deals with the real world, and the real world is full of chaos.

However, I do want to eliminate the frustrating chaos that keeps me from having fun. Here's a little something about routines to keep in mind:

Routines give us a way to think once, do many.

Programmers figured this out a long time ago. They reuse code libraries rather than reinventing every new feature every time. Why reinvent the print function for each program you write? Sure, C's printf function isn't the most efficient way to print formatted data, but imagine how crazy (and inefficient) it would be if every program ever written reinvented a way to print data.

Routines are very powerful because they enable us to think less, reserving brain cycles for more important tasks. This is similar to saving brainpower by writing down our appointments and to do items instead of trying to memorize them.

Figure 3-1. 

Sample Routines

We can do the same thing in time management: develop routines whenever possible. Here are some examples.

Routine #1: Gas Up on Sunday

I refill my car's gas tank every Sunday. It's a routine I've developed, and it has served me well.

It all started when I realized that I'm often late to work on Monday morning, and I'm doubly late when I realize that I don't have enough gas to get to the office. I tried to get out of the house earlier on Mondays but that failed. Finally, I realized that it would be smart of me to fill up on Sunday so it was one less thing to do on Monday morning. It worked.

I used to procrastinate about filling my gas tank. As a result, there was a little extra chaos in my life, as random appointments would be delayed by my need to stop for gas.

I didn't just procrastinate, I fretted! "Should I get gas now? I think I can make it." "Gosh, I'm running behind; maybe I'll get gas tomorrow. I'm sure I'll remember to leave the house early." "Oh, I was going to get gas last night, but I was so tired I forgot. Oh, damn." A lot of brain energy spent on something so simple.

Now that kind of chaos is eliminated from the first half of my week—sometimes the whole week if I don't do much driving.

It's a nice, simple routing that works for me.

The part of my brain that actively thinks about things had one less thing to think about (getting gas), and soon the habit was in the automatic part of my brain. When I'm driving on Sunday, I fill my gas tank.

The key to a good routine is that with enough practice you start doing it without having to think about it. Less thinking about gas means more brainpower left over for other things. Eventually, you might actually forget why you established the routine. That's OK. In fact, it's a good thing. You don't have to think about breathing; it's an autonomic function of the brain. Imagine how distracted you would be if every few seconds you had to stop, recall why breathing is important, decide to breathe, then concentrate to move your muscles to inhale and exhale!

One Sunday I was filling up my tank, and I mentioned to my passenger that I always get gas on Sunday. He asked me why, and I couldn't remember. I just knew that I had been doing it for a long time, that I started doing it to correct a problem, and that it had successfully solved the problem for nearly a decade.