Python for Unix and Linux System Administration is an excellent survey of how to use Python to administer Linux and Unix systems. Many sysadmins will probably be familiar with either the Korn or Bash shells as well as Perl. These tend to be used because of their down-and-dirty ease-of-use. As the authors note, however, Python continues to gain steam and offers ease-of-implementation for sysadmin tasks.
No Python Required
The book does not presume any knowledge of Python and so is suitable for just about anyone with some programming experience. In the first chapter, the authors offer a guided tour of those parts of Python most likely to be useful to sysadmins. For this reason, they leave off a discussion of object-oriented programming and stick to procedural concepts.
What Is Covered
As the title indicates, the book is primarily about Python applied to system administration. As such, the next twelve chapters address several concepts, methods, packages, and applications that facilitate everything from log parsing to archiving to network connections to creating custom commands.
The first of these chapters introduces a special version of the Python interpreter called IPython, a powerful substitute for the standard *nix shells. IPython automates several tasks that the standard Python shell simply does not have: tab completion, syntax completion, and magic functions to name a few.
Further topics addressed include manipulating text, generating documentation, network management, concurrency, data manipulation and persistence. Also covered are several Python GUI frameworks including PyGTK, curses, and Django. Some people do not recognise web pages as a potentially easy way to make a GUI, but web interfaces serve frequently as an easy way to create a networked application that requires no new installation.
Written To Help, Not Overload
Perhaps the aspect of the book that will prove most helpful is the authors' avoidance of force. They are not insisting that one use a given package or a given way. Instead, they consistently opt for being a resource of options - being diplomatic, not dogmatic - for just about every conceivable type of system administration problem.
A Guide to the Best Tools for a Job
The authors have clearly recognised that many sysadmins do not have the time to trawl the Web in search of the mythical perfect tool for the job. In Python for Unix and Linux System Administration, they offer a very helpful digest of many answers to common problems often encountered by sysadmins. The great benefit of all of their solutions is that they harness the power of Python to perform critical, complex tasks very easily and consistently. Like Thanos Vassilakis, a programmer for NYSE, if you know a sysadmin who spends too much time at work, chances are they could use Python and this book to reclaim their personal life.