Book Image

Mastering Bash

By : Giorgio Zarrelli
Book Image

Mastering Bash

By: Giorgio Zarrelli

Overview of this book

System administration is an everyday effort that involves a lot of tedious tasks, and devious pits. Knowing your environment is the key to unleashing the most powerful solution that will make your life easy as an administrator, and show you the path to new heights. Bash is your Swiss army knife to set up your working or home environment as you want, when you want. This book will enable you to customize your system step by step, making your own real, virtual, home out of it. The journey will take you swiftly through the basis of the shell programming in Bash to more interesting and challenging tasks. You will be introduced to one of the most famous open source monitoring systems—Nagios, and write complex programs with it in any languages. You’ll see how to perform checks on your sites and applications. Moving on, you’ll discover how to write your own daemons so you can create your services and take advantage of inter-process communication to let your scripts talk to each other. So, despite these being everyday tasks, you’ll have a lot of fun on the way. By the end of the book, you will have gained advanced knowledge of Bash that will help you automate routine tasks and manage your systems.
Table of Contents (15 chapters)

DEMO

So, how could we turn one of our scripts into a daemon? One first attempt could be using &. The trailing ampersand is a Bash built-in which instructs the shell to run the command in the background inside a subshell. Once the command is executed, the shell does not wait for it to finish but returns a code 0, which means successful, and proceeds further in any other commands that are to be executed:

zarrelli:~$ ls -lah & ps -jf
[1] 13704
total 48K
drwxr-xr-x 4 zarrelli zarrelli 4.0K Apr 12 14:12 .
drwxr-xr-x 4 zarrelli zarrelli 4.0K Apr 12 19:37 ..
-rw-r--r-- 1 zarrelli zarrelli 11 Apr 10 09:20 controller
-rwxr--r-- 1 zarrelli zarrelli 121 Apr 11 18:30 coproc.sh
-rwxr--r-- 1 zarrelli zarrelli 961 Apr 11 12:19 environment.sh
-rwxr--r-- 1 zarrelli zarrelli 382 Apr 11 10:08 looping.sh
-rw-r--r-- 1 zarrelli zarrelli 0 Apr 10 09:20 myfile.txt
-rw-r--r-- 1 zarrelli zarrelli 122 Apr...