Books: A User's Report
The word backup can elicit more fear and resolutions than any other word systems administrators hear. Usually, it is after a system failure when the administrator discovers how good his backup procedure really is. A new O'Reilly classic will help you find out how well your process works. In addition to that review, I've also included an administrator's tips, tricks, and shortcuts book along with a guide to Tcl/Tk programming. The titles, authors, and publishers are: UNIX Backup & Recovery by W. Curtis Preston (O'Reilly & Associates, Inc.), Unix Hints & Hacks by Kirk Waingrow (Que Books), and Practical Programming in Tcl and Tk, Third Edition by Brent B. Welch (Prentice Hall).
Review Follow-Up News. Open Sources: Voices from the Open Source Revolution edited by Chris DiBona, Sam Ockman, and Mark Stone (O'Reilly & Associates, Inc. ISBN 1-56592-582-3, $24.95) recently won the 1999 Linux Journal Editors' Choice Award Best New Book of 1999. Open Sources chronicles the open development of utilities and organizations including Apache, Perl, Netscape, BIND, Linux, the Free Software Foundation, and the Open Source Initiative by the leaders who made it happen. Following its original debut (and the subsequent review in Sys Admin), the Open Sources book was appropriately open sourced at the O'Reilly Web site (http://www.oreilly.com).
The BASH Reference Card by Arnold Robbins (Specialized System Consultants, Inc., ISBN 1-57831-010-5, $4.95) is now also available through the SSC Web site (http://www.ssc.com/). Linux and BASH shell users may either examine and download the excellent reference card (reviewed in the November 1999 issue of Sys Admin) or purchase the pocket-sized resource through SSC. --the author.
UNIX Backup & Recovery
By W. Curtis Preston
O'Reilly & Associates, Inc.
Every user dreads the inevitable computer crash or system failure. For the individual user, it means lost time, inconvenience, and occasionally some additional expense. For the systems administrator, the consequences range from downtime to data loss and unrecoverable revenue. The alternative to these scenarios relies on consistent backups and thorough recovery procedures, allowing for every situation. This contingency policy is not impossible, but it does require a lot of thought, planning, and testing. In UNIX Backup and Recovery, W. Curtis Preston examines the need for complete backup strategies and demonstrates how to implement them. He addresses the elements of backup and recovery through six major sections: Introduction, Freely Available Filesystem Backup & Recovery Utilities, Commercial Filesystem Backup & Recovery Utilities, Bare-Metal Backup & Recovery Methods, Database Backup & Recovery, and Backup & Recovery Potpourri.
The Introduction contains Preparing for the Worst and Backing It All Up. In addition to introducing backup and recovery concepts, the first chapter also illustrates the essentials of a disaster recovery plan. Preston concisely presents them within six steps and then discusses each step in detail. The second chapter describes backup and recovery elements and related considerations. The author includes sidebars of actual backup and recovery incidents throughout the book. They are particularly memorable in this chapter. With The One That Got Away [Page 20], Preston emphasizes the need for backups, recovery plans, and organizing backup media. Freely Available Filesystem Backup & Recovery Utilities, presents Native Backup & Recovery Utilities and Free Backup Utilities. The third chapter examines the basic backup tools available with every UNIX variant: dump and restore, tar, cpio, and dd. In the following chapter, Preston discusses backup utilities that can be obtained free of charge. For larger facilities, a commercial product may be preferred for efficient backups. Section III, Commercial Filesystem Backup & Recovery Utilities, surveys Commercial Backup Utilities and High Availability.
The first of these chapters suggests features that the administrator may want in a backup product. Preston outlines the necessary attributes to consider before choosing a utility and also provides online information (http://www.backupcentral.com) for current information and new products. The High Availability chapter, written by Gustavo Vegas with Josh Newcomb, defines high availability, contrasts it with other closely related concepts and their implementations (i.e., fault tolerance and mirroring), and outlines when HA is an appropriate choice.
The fourth section, Bare-Metal Backup & Recovery Methods, explains how to recover and restore your system when the root disk malfunctions. Since the procedures and commands vary among platforms, Preston addresses the topic through several chapters: SunOS/Solaris, Linux, Compaq True-64 Unix, HP-UX, IRIX, and AIX. The following section, Database Backup & Recovery, identifies the measures and prerequisites necessary for successful database backup and recovery. Backing Up Databases describes the general procedures and considerations specific to database design. The succeeding chapters, Informix Backup & Recovery, Oracle Backup & Recovery, and Sybase Backup & Recovery, illustrate the individual processes associated with the designate database product. The concluding section, Backup & Recovery Potpourri, includes chapters on ClearCase Backup & Recovery, Backup Hardware, and Miscellanea. The Miscellanea chapter discusses volatile filesystems, Gigabit Ethernet, Disk Recovery Companies, and more. The accompanying CD-ROM contains the tools, procedures, and information mentioned throughout the book, including database backup utilities, an RFI for selecting backup software, free backup tools, and a link to http://www.backupcentral.com/.
UNIX Backup & Recovery is one of the most essential reference and resource books written for systems administrators that I have read. Preston demonstrates the necessity of thorough backup plans and illustrates what can happen when some aspect of a backup is overlooked. He discusses both hardware and software issues and illustrates how each can be backed up and, more importantly, restored to its prior state. (The most precise and complete backups aren't worth anything if they cannot be restored.) The author's plentiful examples and informal writing style make the book interesting, readable, and valuable. Preston has written the resource that he would have wanted to read. Every UNIX system administrator needs this extraordinary book now. Tomorrow may be too late.
UNIX Hints & Hacks
By Kirk Waingrow
Every carpenter, plumber, and electrician knows a unique shortcut to make a job easier, or a way to accomplish something when the usual procedures fail. In UNIX Hints & Hacks, author Kirk Waingrow provides the same types of strategies for UNIX systems administrators. The author currently runs the UNIX Guru Universe on the Web (http://www.ugu.com) and has compiled the material in this book from the experience and procedures used by UNIX systems administrators. Waingrow divided the topics into ten chapters: Topics in Administration, Networking, Security, System Monitoring, Account Management, File Management, Displays and Emulations, Editors, Users, and System Administration: The Occupation. The Appendices include A) Basic Scripting Concepts, B) System Installation Checklist, C) System Incident Log, D) Administration Tools and Recommended Organizations, and E) Glossary. Each entry employs the following format: the title, a description, including the UNIX flavors to which it applies, the syntax, the reason why it may be helpful, real world experience, and other resources. Waingrow describes alternative ways to accomplish given tasks when the usual procedure won't work, the administrator is working via a remote location, the system insists on behaving erratically, or a hardware device (such as a mouse) is missing or has failed. These approaches also allow the administrator to customize the system environment so that the preferred tools are available. (This may include a shell, a command's output, or the display.)
Waingrow's UNIX Hints & Hacks is definitely an administrator's book. It is not for the casual user. The hints provided are tailored to an administrator's tasks and environments. The information provided is superb and will elicit more than one I didn't know that would work comment. For example, you can substitute echo for an ls command or remotely lock a display. Due to the format of the book, the reader always knows why a specific shortcut would be preferable. This is an intriguing and unusual book that also provides practical advice. Any UNIX systems administrator will appreciate its clear descriptions and precise instructions and value the additional solutions to common practices.
Practical Programming in Tcl and Tk
By Brent B. Welch
Systems and network administrators frequently utilize scripting languages to both automate routine and tedious tasks and to prototype new utilities. Tcl (Tool Command Language) is one of the more popular scripting languages available. Its multi-faceted capabilities allow the programmer to add a Tcl interpreter, employ the Tcl C library, and use the Tk toolkit extension, which provides a graphical user interface dimension. Welch introduces Tcl, illustrates how to use it, and demonstrates its numerous interfaces and extensions in a superb and straightforward manner. He explains the basic concepts and more advanced procedures in seven sections: Tcl Basics, Advanced Tcl, Tk Basics, Tk Widgets, Tk Details, C Programming, and Changes.
The first section, Tcl Basics, introduces Tcl Fundamentals, Getting Started, The Guestbook CGI Application, String Processing in Tcl, Tcl Lists, Procedures and Scope, Tcl Arrays, and Working with Files and Programs. In the second section, Advanced Tcl, the author explains Quoting Issues and Eval, Regular Expressions, Script Libraries and Packages, Reflection and Debugging, Namespaces, Internationalization, Event-Driven Programming, the TclHttpd Web Server, Multiple Interpreters and Safe-Tcl, and Safe-Tk and the Browser Plugin. Welch describes Tk Basics in the succeeding section with chapters detailing Tk Fundamentals, Tk by Example, The Pack Geometry Manager, The Grid Geometry Manager, The Place Geometry Manager, and Binding Commands to Events. The Tk Widgets section examines Buttons and Menus, The Resource Database, Simple Tk Widgets, Scrollbars, The Entry Widget, The Listbox Widget, The Text Widget, and the Canvas Widget. The concluding Tk division, Tk Details, discusses Selections and the Clipboard; Focus, Grabs, and Dialogs; Tk Widget Attributes; Color, Images, and Cursors; Fonts and Text Attributes; Send; Window Managers and Window Information; Managing User Preferences; and A User Interface to Bindings.
In Section VI, C Programming, Welch demonstrates the C interface through C Programming and Tcl, Compiling Tcl and Extensions, Writing a Tk Widget in C, and the C Library Overview. The final section, Changes, documents features used by the Tcl and Tk releases mentioned in the book: Tcl 7.4/Tk 4.0, Tcl 7.5/Tk 4.1, Tcl 7.6/Tk 4.2, Tcl/Tk 8.0, Tcl/Tk 8.1, Tcl/Tk 8.2, and proposed changes for Tcl/Tk 8.3. The last chapter describes the content and formats of the accompanying CD-ROM. It includes Tcl and Tk, the book's examples, and additional Tcl-related software that can be found on the Internet. The CD-ROM can be read by UNIX, Windows, and Macintosh systems. The Index provides an exceptionally detailed and useful reference tool for the reader and user.
Practical Programming in Tcl and Tk, Third Edition by Brent B. Welch, is an outstanding revision of an excellent book. The author's approach to the topics illustrates a logical and user friendly style. Each section begins with a general and separate introduction; each chapter has a succinct summary preceding it, reminiscent of an abstract's keyword section. For example, the summary of Chapter Twelve, Script Libraries and Packages (chosen at random) is:
Collections of Tcl commands are kept in libraries and organized into packages. Tcl automatically loads libraries as an application uses their commands. Tcl commands discussed are: package, pkg_mkIndex, auto_mkindex, unknown, and tcl_findLibrary. [Page 161]
Welch describes and explains the procedures and processes of Tcl, the Tk toolkit, other extensions and interfaces with clarity and consideration. He provides numerous examples and advises the reader of changes and additions, details the features of earlier versions, lists the contents of the CD-ROM and how to access it for each platform, and furnishes an Index that is extremely complete and well-organized. Any beginning or experienced Tcl/Tk programmer needs this valuable book. It is an essential guide, tutorial, and reference.
About the Author
Elizabeth Zinkann has been involved in the UNIX and C environment for the past 13 years. She is currently a UNIX and C consultant, and one of her specialties is UNIX education. In addition to her computer science background, she also has a degree in English. Her writing has also appeared in Linux Magazine, Performance Computing, and Network Administrator. Elizabeth can be reached at: firstname.lastname@example.org.