About nixCraft

Topics

10 Ultimate Rules for Effective System Administration

Posted by Vivek Gite [Last updated: July 31, 2008]

This is an user contributed article.

The following 10 items are guidelines more than rules, that I have learned over the years doing intensive work on the IT infrastructure. These guidelines are mostly common sense and can be helpful for anybody who administers an IT system, including Linux/Windows Administrator, Network Administrator and DBA.

1. Keep it simple.

In technology environment, keeping things simple takes lot more effort and maturity than keeping it complex. As an administrator, when it comes to implementing a particular functionality or solving a problem, there are always several options available. It is best to learn all the available options, including the complex ones to understand how it works. However while implementing, try to keep it as simple as possible. The option you choose should be simple and have the following characteristics:

Whenever you are in a dilemma of whether to choose a bleeding edge technology or proven technology that has been around for a while, always go with the proven technology for production implementation.

Everything should be made as simple as possible, but not simpler. - Albert Einstein

2. Backup regularly

Is both your personal laptop and servers at work, getting backed up regularly? If not, stop everything you are doing now and implement a backup solution on those systems immediately. Seriously! Start planning for your backup right now. Everybody knows that backing up data on a regular basis is critical. Only those who got burnt out on few occasions without having a backup, really understands the importance of having a reliable backup solution. Don't learn the importance of backup after loosing your critical data.

It is only a matter of time, when you'll be in a situation where a system crashed, data got deleted accidentally or laptop with critical data is lost. Spend quality time and implement a reliable backup solution for both your personal laptop and servers at work.

3. Test your backup regularly

I could've combined this as part of rule#2. But, I strongly believe testing the backup deserves special attention. I have seen on several occasions, where administrators thinks they have a valid backup, only to find out during disaster, they couldn't restore from the backup successfully. A backup solution without testing it on a ongoing basis is only as good as not having the backup. Just having faith in the backup that it will work is not good enough. You should have a process to test your production backup every month. You'll have a peaceful sleep at night just by implementing rule#2 and #3.

4. Proactive Monitoring

Are you always working in a fire fighting mode? Is your users calling you to indicate that a system is down or having problem? Experienced administrators knows that they should spend majority of their time implementing solutions to avoid problems, instead of fixing the problems after it happens. Make sure to implement a strong monitoring solution that will monitor and alert you about a problem before it happens. You should never be solving the same issue more than once. Following two points will help you to achieve the proactive monitoring.

Sit and identify all the equipments, services and applications that needs to be monitored through out the enterprise. Define an acceptable warning and critical levels for those systems. Define who should be notified and how often they should be notified and the method of notification. Once you have these identified, spend time implementing a monitoring system.

Despite proactive monitoring, there will be times when you'll be putting out a fire. Once you put off the fire, the first question you should ask yourself: How I could've avoided this issue from happening? Once you have the answer for that, make sure to implement an appropriate monitoring solution to prevent this particular incident from happening in the future.

5. Document Everything

You should document everything that you perform on the system. This is not a pleasant topic for administrators, as most of us hate to write documentation. An experienced administrators knows that documenting the environment and his work is key for his success and growth. I'm not talking about spending several hours creating a huge document with all fancy formatting.

Anytime you implement a solution or fix a problem, just scribble down the high level steps that was performed in a text file. You can simply copy/paste the commands you've executed along with one line description. This in itself is a huge step towards documentation for most administrators who are not used to documenting their work.

Following are some of the primary reasons for documenting every technical activity performed by administrators:

6. Plan and Execute it well.

When you are implementing a solution, have a clear plan on what you will do next and when. You should be Project Manager for your own tasks and projects. I.e Analyze all the potential risks involved in implementing a solution. Make sure to give sufficient time to test a particular solution. Come up with a clear test plan and get your users involved in testing process. On your next assignment, try the following and see the benefits for yourself. This forces you to think about all the possible scenarios even before you start the project.

When you really get this implemented on the projected date, give yourself a pat on the back and enjoy your accomplishment. Planning and executing projects well on a consistent basis could potentially become one of a huge motivation factor for administrators to start taking up bigger and complex technology projects.

7. Use Command Line more than GUI

Use the command line as much as possible. Whether you are configuring a VLAN on a switch or setting up LDAP/NIS authentication on a Linux server, always use the command line instead of GUI. Following are the advantages of using command line.

8. Automate repetitive tasks

If you perform a task more than once, you should find a way to automate it. It may be very tempting to do the repetitive tasks manually, as can complete the task quickly and know the exact steps to perform the task. But, avoid this temptation and spend some extra effort in automating the task, which will free-up your mind from thinking about that routine tasks. Once you've automated the tasks, you can use your time effectively in learning other new fun stuff.

9. Support your users and developers

Administrators are technically very sophisticated and sometimes get frustrated with end-users who don't understand technology. But, keep in mind that you have your job mainly because they don't understand technology and need your expertise. When user reports an issue that is totally not related to the system and mainly because of user-error, be nice to the person and explain in a non-technical term about why this is not a system issue.

Sometimes developers may deploy something on the server causing some undesirable results. Don't get mad on them and blame the problem on the developer. Instead, help the developer to identify the root cause of the problem, by providing sufficient data from the system to narrow down the problem.

10. Keep learning and have fun.

If you have mastered the skill on how to do all the above 9 items effectively, you'll have more free time on your hand. Keep learning all the times. Anytime someone reports an issue, be curious and treat it as an opportunity to learn something new. Once in a while step aside your computer and spend quality time with your family. On top of all, have fun and enjoy doing the system administration activities.

Live as if your were to die tomorrow. Learn as if you were to live forever. --Mahatma Gandhi

This article was written by Ramesh Natarajan. At the The Geek Stuff blog he shares his knowledge and experience on Linux and other Geeky stuff. He has more than 15 years of experience in IT industry and has performed very intensive work on Linux system administration, DBA, Hardware and Storage. nixCraft welcomes readers' tips / howtos.

E-mail this to a Friend    Printable Version

You may also be interested in other helpful articles:

Discussion on This Article:

  1. LiNTEK Says:

    awesome tips…..

  2. Rob Says:

    For the Document Everything comment (5), I’ve found that using an online app works wonders (either Google Docs or Zoho Writer). It’s always there when you need it, and can easily provide it to other team members instead of having text files everywhere!

  3. vayu shanti Says:

    Thank you!
    I feel that this guidlines help me to become good administrator :)

  4. Bryan Says:

    “Use Command Line more than GUI”

    I have to disagree w/ this one. I prefer the CLI to a GUI but everyone uses the CLI differently. Wherever possible you need to standardize configurations of your systems, because more often than not, there are multiple sysadmins. I used to be a Windows Sysadmin and the GUI’s sucked but they did force people into doing things the same way. Too much flexibility can be a liability when you have a number of people collaborating in system administration.

    You manage identity and user permissions in a million different ways but only a couple of ways on windows. The windows user perms may not be very powerful but it’s easy to understand them and for a team to grok them. LDAP+SAMBA+XYZ authentication method gets really complicated really quickly

  5. George Says:

    Great article !!!

  6. Dan Martin Says:

    Regarding GUI vs CLI: sometimes a GUI is not available. Sometimes, when you’re the administrator, you may intentionally leave the GUI out. This is another good reason for using the
    command line.

    Good article. Thank you.

  7. Eugenio Neto Says:

    Interesting article, congratulations!

  8. paan Says:

    These tips are so true. Luckily where I work we do almost all of these now. But we have to learn the hard way each step of the way. For example we only regularly recheck our backup after one incident where we have to restore a DB backup only to find that the backup has been failong for the last week or two because of diskspace problems.. Now we regularly check our backups.

    And regarding tip 7. Use Command Line more than GUI.
    Another reason to use the cli is that a gui is not always available. Espcially during recovery work.

  9. Carlie Coats Says:

    Actually, the original “keep it simple” quote is due Saint-Exupery, not Einstein
    (who frequently gets the credit, however).

    But to set the record straight:

    “A designer knows he has achieved perfection not when
    there is nothing left to add, but when there is nothing
    left to take away.”

  10. JJS Says:

    Another thing about using a GUI is that there may be configuration meta-files, and directly editing the system configuration files could result in changes being lost when patches are applied. So unless you know exactly what is going on under the covers, stick with the OS’s specific configuration tools.

    Later . . . Jim

  11. RCook Says:

    For documentation I setup a wiki on the intranet. Every time I perform an administrative task I go to the wiki and add an entry for that task. I also place repetitive information such as license keys on the wiki as well, it’s tied into the LDAP directory so security is not an issue and the data is accessible from any PC within the corporate network.

  12. Oliver Says:

    Great tips! Being a relatively new administrator I am really enjoying learning how to make the job easier. I’m glad to see my instincts in documenting everything are good.

    Thanks to the people in the comments for the tips as well.

  13. steveee Says:

    Good tips,

    For documentation I use elog. It is a great tool.
    I have created several log-books, that hold logs, howto, and other documentation. It is web based, fast, allows searching, attachments, and easy categorisation of content. And accessible form any system.

  14. foo Says:

    Dan Martin said:
    > Regarding GUI vs CLI: sometimes a GUI is not available.

    It is because of these cases why I do most configuration using CLI (even when I’m in X). If anything ever breaks my GUI, I know that I still can operate and possibly recover the system, heck, I can even surf the web on the command line to search for helpful information. And the omnipresence of vi is why I started using vi in the first place. Initially, I didn’t like vi, because it seemed too difficult to use; but now I know I can edit broken configuration files on any system without a GUI.

    Forcing admins to use the GUI just adds another layer of complexity and another point of failure to the system.

  15. Rock Says:

    Thank you!
    I feel most of the guidelines not only suitable for system administration, but also for software design and development.

  16. Ross Says:

    The most important rule that I have seen flaunted by sys admins with little experience is the “Keep it simple” rule.

    Don’t implement technologies you don’t need it’s just one more thing to go wrong and if you are going to implement a technology make sure you have an understanding of how it works and plan for it to fail.

  17. Webshop-Winkelen Says:

    I totally agree on this! Doing stuff on commandline is much better in my opinion and it also impresses your boss ;-)

  18. CompWhiz Says:

    As for the GUI tools. Do people really run Xorg on their servers? Sounds like a waste of resources because I do everything on the CLI with ssh. In my experience it seems the CLI configuration tools can be more consistent because most distributions have their own GUI config tools. Using the CLI lets new admins that are used to one distribution to use the new one with less need of learning new tools.

  19. Jason P Sage Says:

    I think this article is dead on! :) To bad the old microsoft \”recorder\” wasn\’t better - that would iron out the automation/CLI/GUI issues for the GUI lovers.

    I agree about CLI - only because you can stuff it in a text file - and run as a batch or scheduled task - way to go in my opinion for many things.

    Great Article!
    –Jason

  20. jimcooncat Says:

    1. Get to know and love the little program called “screen”.

    2. Organize access to your system. In my shop, that’s openssh (and putty) using public keys.

  21. Hosting Reviews Says:

    backup regularly!!!!! It blows me away the amount of people that simply thing this doesn’t apply to them. Get on it people backup. It can only help! And you’ll be glad you did.

Leave a Reply

We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tags: , , , , , , ,

Copyright © 2004-2008 nixCraft. All rights reserved - TOS/Disclaimer - Privacy policy - Powered by Open source software.