CS615A -- Aspects of System Administration

EC2 Backup


In this assignment, we will lay the ground work for a more comprehensive tool to be completed later in the semester. Here, we will begin to practice writing usable system tools through iterative design.

The detailed specification of the program can be found in this manual page.

This assignment is worth 20 points.

Target platform

The tool you write will be executed (and graded) on linux-lab.cs.stevens.edu. You are free to develop it in some other environment, but please make sure to test it on these systems before submitting it. If your program does not work on these hosts, you will not get any points.

Programming language

You are free to choose any programming language you like to implement this tool. Your program should not require the installation of any software not already present on linux-lab.cs.stevens.edu, as that is where the program will be tested.

Your program will be executed b running make in the directory you submitted, followed by invoking the command as /some/where/your-directory/ec2-backup-v1, followed by any options; please make sure that any compilation is invoked by make(1) as needed; if no compilation is necessary, then running make should be a no-op.

Program behavior

Your program will not require any modification of the environment (ie, you can assume the user has their environment set up for EC2), and exection of the program will be exactly as outlined in the manual page ec2-backup-v1(1).


You may choose to implement the programs in any way you like, including breaking it down into smaller individual tools, scripts or programs.

You probably want to make sure that your program exhibits the various features of good software engineering practices we discussed. Please make sure to consider these and have your submission reflect wherever possible.

It is in your interest to accompany your submission with some commentary on why you chose the programming language, the approach you took, any considerations you might have. The more thought I see you put into the assignment, the better.

Deliverables and Due Date

You will submit a single tar(1) archive. The file to submit will be called "$USER1-ec2-backup-v1.tar" (where "$USER1" is your Stevens username). The archive will extract all files and subdirectories into a directory named $USER1.

You will only submit source files -- no binaries or executables of any kind -- as well as a mandatory Makefile as well as your README.

The following is an example sequence of commands to create a valid homework submission:

mkdir $USER
cd $USER
vi ec2-backup
[code code code]
cd ..
tar cf $USER-ec2-backup-v1.tar $USER

The due date for this assignment is 2020-02-18 16:00 EST. Please attach the file to an email sent from your @stevens.edu email address to jschauma@stevens.edu with a subject of "[CS615] HW2".

[Course Website]