Python for Unix and Linux System Administration First Edition
This is an O'reilly book that focuses on using Python in a niche that has long been filled with shell scripting languages like bash, along with perl. Python's scripting capabilities are very nice. I like Python, and I'm a System Administrator.
The Introduction explains the authors' reasoning why Python is a good choice. They explain why Python can be a good choice. For the casual reader that may have picked up this book in a bookstore, this is a good thing. I've already been sold on Python, which is why I got the book in the first place.
The book's chapters each focus on a specific type of task that a System Administrator might need to do. Some chapters covered topics that I could have written about. They covered creating a few small Django apps in the GUIs chapter. It was a very well done section, but since I've worked with Django for two years, and this covered Django 0.96, I just skimmed it.
Some chapters covered things I was aware of, but didn't know a lot about. I've used iPython before, but I had no idea that it was just as powerful as it is. I've never read the iPython-specific help manuals, so I've only used it as a regular Python interactive shell. iPython can be used as a shell replacement. It's wonderful!
This book covers almost every corner of a System Administrator's job that could be done in Python. Everything is covered from creating backup systems, processing data, network and process monitoring, to parallel computing, and more.
I enjoyed the parts that covered network programming, and process management/threading. These two topics are my weak spots, and I feel like I understand the concept better after having seen a few Python implementations in this book.
I've never read a technical book cover to cover like a novel. After reading the introduction, there was nothing but simple elegant ideas and example code that solve problems that system administrators are faced with every day.
I highly suggest this book if you do any kind of *nix administration. If you manage your own home network of two machines you will find something in this book to make your life easier by using Python.
If you've managed a large network for a long time, this book will probably help you make your job easier by using Python. Some problems traditionally solved by shell scripts can definitely be solved using a few lines of Python code.
The authors' experience make them both highly qualified to give suggestions as to what works, and what doesn't work. I always appreciate the advice of experienced individuals, and this book has a very high concentration of good advice.