Final Project Guidelines
Overview - The final project for this course is the creation of a fully functional script, and the demonstration of successful use and navigation of the Linux operating system.
You will complete this project in Codio in the unit titled "Final Project." As you work on this project, you must complete the "Getting Your Bearings" section in one session. You must also complete the "Executing Tasks" section in one session: You will submit a log file of commands generated by the Linux operating system, and that log of commands will reset when you exit the system. Therefore, plan accordingly and create your log file prior to exiting the system. (See the Codio website for more information on downloading log files.) This project has directions that include naming conventions for files and directories. Following these naming conventions is important. In the event that your instructor needs to check the directory structure or check your files inside of the Codio environment, having consistent directory and file names will make them easier to find.
In this assignment, you will demonstrate your mastery of the following course outcomes:
- Select appropriate commands for navigating, creating, and organizing the Linux directory structure.
- Execute tasks using basic Linux utilities and commands that search, redirect, and manipulate input and output.
- Interpret output from executing basic commands for determining status and verifying expected results.
- Create a basic Linux script combining multiple commands that simplifies a repeatable task.
Scenario - You are starting a new position at an oil and gas company called SNHU-Pipeline Company. They are a well-established company that has been in business for 50 years. So, when it comes to technology, SNHU-Pipeline Company has been slow to evolve, especially in its employee computers and operating systems. As a 100% Microsoft Windows shop, SNHU-Pipeline Company is looking for ways to cut costs, improve reliability, and improve performance for end users and applications services.
Recently, management has learned that you have a background in Linux operating systems and wants to get your thoughts on how they can achieve their goals for end-user enhancements.
Prompt - Management would like to see some example artifacts of Linux being utilized. They have also requested that you develop a backup script showing the capabilities an end user can have in providing themselves a way to back up their own files.
Specifically, the following critical elements must be addressed:
Getting Your Bearings: In this section of the final project, you will demonstrate your ability to execute commands to verify and confirm the status of the directory, files, and user account. At the end of this section, you will create a log file that will include a list of all the commands you used to complete these steps.
I. Navigate: The first step in this process, which you will provide evidence for in your log file, is to view the following using Linux commands:
A. Current directory
B. Current user
C. Directory contents
II. Command list information: Your next step will be to utilize a resource inside the Linux operating system that can provide you with more information for how to utilize commands.
A. Utilize a command to access key command information that would inform which command switch to use to show all files in the directory, including hidden files.
B. Review the directory contents again utilizing a command with a switch that includes hidden files.
III. Locate a file: Locate and open a file in the Linux workspace directory that contains the following text string: last backup.
IV. File permissions: Locate the whoownsme.txt file and confirm that all users have the ability to execute the file.
V. Running processes: View all the processes running in the system in order of priority.
VI. Log file: Utilize a Linux command to create a log file that contains all of the commands you have utilized up to this point, and ensure all of the commands utilized in critical elements I through V are listed. Title this file Bearings_Log_File.txt, and download this file for submission.
Executing tasks: In this section of the project, you will demonstrate your ability execute Linux commands to create files and create and organize the Linux directory structure. At the end of this section, you will create a log file that will include a list of all the commands you used to complete these steps.
VII. In the workspace directory, create new directories titled NEW, BACKUP, and OLD.
VIII. Create files: For this section, you will need to create files using five different methods in preparation for scripting in the following section. Ensure that you place them in the directory titled "NEW":
A. A text file with five lines of text that you chose, titledPersonal_Content.txt
B. A text file listing the quantity of operating system free space, titledFree_Space_Content.txt
C. A text file listing the directory contents of your workspace directory and showing all file permissions, titled: Directory_Content.txt
D. A text file with the concatenated output of the Directory_Content.txt file (Title the newfileCopied_Content.txt.)
E. A text file showing the current month, day, and time (Title this fileTime_File.txt.)
IX. Modify and move files: Utilize Linux commands to rename files and copy them to a different directory in preparation for the backup script in the following section. Rename the files by adding the suffix "_OLD" to them, and move the files from the "NEW" directory to the "OLD" directory.
Remember that your modified files should use an appropriate naming convention: XXXX_XXXX_OLD.txt. Ensure that your modified files reside in the OLD directory, and that your original files reside in the NEW directory.
X. Log file: Create a log file of all the commands you have utilized up to this point. Title this file Tasks_Log_File.txt, and download it for submission.
Script: In this section of your final project, you will write a basic script to create and back up files. You will create this script with the vi editor. The script will combine multiple commands and simplify a repeatable task. Your script should be named Firstname_Lastname.BASH. Your script and your Linux directory structure should demonstrate that you have correctly written the script to do the following:
XI. Create files: In this section, you will demonstrate your ability to utilize various Linux commands to create text files. Create these files in the NEW directory. Ensure that the commands in your log file show that the following three text files were created using three different methods. Create the following files:
A. A text file listing the quantity of operating system free space, titled Free_Space_Content.txt
B. A text file listing the directory contents of the OLD folder, titled OLD_Content.txt
C. A text file showing the current month, day, and time (Title thisfileTime_File.txt.)
XII. Modify and Move files: Utilize Linux commands to copy files to a different directory and rename them.
A. Copy the following selected files from the OLD directory to the BACKUP directory. Ensure that you change the filename suffix from XXX_OLD to XXX_BACKUP.
i. Free_Space_Content_OLD.txt
ii. Directory_Content_OLD.txt
iii. Time_File_OLD.txt
B. Move all files from the NEW directory to the BACKUP directory (no renaming necessary). Clean up the Linux directory structure by deleting the items in the NEW directory.
XIII. Execute the script: At this point, you will need to complete and execute the newly created script and complete a successful directory backup process.
XIV. Assess output: Finally, analyze the Linux directory structure and file contents to confirm successful script implementation. Ensure that you download your script and your Script_Assessment.txt file for submission.
A. Create a text file titled Script_Assessment.txt in the NEW directory; write a paragraph identifying the commands that you used in your script, and assess the success of your script.