As time goes on, system administrators are presented with increasingly complicated challenges. In the early days, a team of engineers might have had to look after one or two systems. These days, one engineer can administer hundreds or thousands of systems.
System administrators are gradually replacing their tools with more advanced and flexible ones. One of the choices is Python. Structurally, Python is a modern, high-level language with a very clean syntax. Python comes with many built-in libraries that can make automation tasks easier. It also has extensive set of third-party libraries and a very active development community. This flexibility makes Python a good choice for a wide variety of tasks, from prototyping science applications to system maintenance and administration jobs.
- This book explains and shows how to apply Python scripting in practice. Unlike the majority of the Python books, it will show you how to approach and resolve real-world issues that most system administrators will come across in their careers.
- In this book, you will find several projects in the categories of network administration, web server administration, and monitoring and database management. In each project, we will define the problem, design the solution, and go through the more interesting implementation steps.
- Each project is accompanied with the source code of a fully working prototype, which you’ll be able to use immediately or adapt to your requirements and environment.
What you’ll learn
- Solve real-world system administration problems using Python.
- Manage devices with SNMP and SOAP.
- Build a distributed monitoring system.
- Manage web applications and parse complex log files.
- Automatically monitor and manage MySQL databases.
Who is this book for?
This book is primarily aimed at experienced system administrators whose day-to-day tasks involve looking after and managing small-to-medium-sized server estates. It will also be beneficial for system administrators who want to learn more about automation and want to apply their Python knowledge to solve various system administration problems.
Python developers will also benefit from reading this book, especially if they are involved in developing automation and management tools.
This book assumes that readers already use Python and are comfortable with the language. Most of the Linux distributions come with Python and various libraries (such as Django, PIL and SciPy) packaged and readily available, but basic knowledge of installing packages in a Linux/Unix environment is advised.