|
|
Chapter 01: Tasks Automation
Automation of frequently-performed tasks under Red Hat Enterprise Linux requires knowledge of several
different types of technologies. First are the commands that control the timing of command or script
execution. T he cron and at commands are most commonly used in these roles.
Incorporating an easy-to-understand yet powerfully flexible time specification system, cron can
schedule the execution of commands or scripts for recurring intervals ranging in length from minutes to
months. T he crontab command is used to manipulate the files controlling the cron daemon that
actually schedules each cron job for execution.
T he at command (and the closely-related command batch) are more appropriate for scheduling the
execution of one-time scripts or commands. T hese commands implement a rudimentary batch
subsystem consisting of multiple queues with varying scheduling priorities. T he priorities are known as
niceness levels (due to the name of the command -- nice). Both at and batch are perfect for tasks
that must start at a given time but are not time-critical in terms of finishing.
Next are the various scripting languages. T hese are the "programming languages" that the average
system administrator uses to automate manual operations. T here are many scripting languages (and
each system administrator tends to have a personal favorite), but the following are currently the most
common:
- The bash command shell
- The perl scripting language
- The python scripting language
Over and above the obvious differences between these languages, the biggest difference is in the way
in which these languages interact with other utility programs on a Red Hat Enterprise Linux system.
Scripts written with the bash shell tend to make more extensive use of the many small utility programs
(for example, to perform character string manipulation), while perl scripts perform more of these types
of operations using features built into the language itself. A script written using python can fully exploit
the language's object-oriented capabilities, making complex scripts more easily extensible.
T his means that, in order to truly master shell scripting, you must be familiar with the many utility
programs (such as grep and sed) that are part of Red Hat Enterprise Linux. Learning perl (and
python), on the other hand, tends to be a more "self-contained" process. However, many perl
language constructs are based on the syntax of various traditional UNIX utility programs, and as such
are familiar to those Red Hat Enterprise Linux system administrators with shell scripting experience.
|
|