Implementing Bash Flow Control in an Existing Backup Script

30 minutes
  • 3 Learning Objectives

About this Hands-on Lab

Bash scripting is an invaluable skill for a Linux system administrator. From writing quick scripts that automate simple tasks to writing complex scripts that can automatically deploy entirely new servers, scripting skills are integral to being a good SysAdmin. In this lab, we’ll integrate Bash flow control into an existing backup script.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Modify the Backup Script to Add the Requested Trap

Modify the backup script so that attempts to cancel the script while running will clean up all copied files and directories, but still log that the signal occurred.

Modify the Backup Script to Contain the Requested Logic for Parameters

Using an if statement, ensure that the script errors out without copying files if the log file parameter isn’t passed.

Run the Script and Verify That Files Are Backed Up and Trapping and Parameter Logic Work as Requested

Mark the script as executable and run it, then verify that all files are backed up to the required directory.

Additional Resources

You work for Universe Incorporated. One of your users — cloud_user — has an already existing backup script. Using Bash flow control methods, modify the script to trap if a user hits Ctrl+C to cancel the script and remove all backed up files if that happens. Additionally, add logic to determine if no parameters are passed to the script. If there were no parameters passed, print a help statement instead of attempting to run the script.

Once complete, ensure it runs and successfully backs up the required files. Use the sleep command to verify that a Ctrl+C is trapped correctly.

If you get stuck, feel free to check out the solution video or the detailed instructions under each objective. Good luck!

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?