Addis Ababa University
College of Natural and Computation Sciences
Department of Computer Science
Group Assignment (Maximum of 5 members) of Network and System Administration -
CoSc3212 (20%)
Submission deadline – Thursday June. 12, 2025 before 4:00PM: Copy pasting a
code from any source results in a very poor mark.
Write one shell script files for each question total of 3 files, add your name and ID inside the
source code at the top as comment in each file, compress the resulting three shell files in
one ZIP/RAR file and submit it in soft copy to steferi87@gmail.com
Task 1: Interactive System Information Menu (5 pts)
Write a Linux shell script that displays a menu with numbered options. When the user
selects an option, the script should execute the corresponding system command and
display the output.
Menu Options
1. Display system kernel version
2. List active network connections
3. Check running background processes
4. Show file system inode usage
5. Display RAM and swap memory statistics
6. System uptime and average CPU load
7. List all installed packages
8. Show system CPU information
9. List scheduled cron jobs for the current user
10. Show disk read/write speed statistics
Requirements:
• Proper input validation (ensure valid menu selection).
• User-friendly prompts and format output for better readability.
1
Task 2: Scheduled System Backup Script (7 pts)
Write a shell script that performs automatic backups of system configuration files and
user directories every Wednesday night at 11:30 PM.
Requirements:
• Use cron to automate scheduling.
• Allow users to specify which directories or file types to back up.
• Create compressed, timestamped backup archives.
• Notify users via email upon successful backup.
• Ensure error handling (check disk space before backing up).
Task 3: Interactive Pattern Printing (8 pts)
Write a Linux shell script that allows users to select a shape, specify the number of
lines, and print the shape using *.
New Shapes for 2025:
1. Right-aligned Triangle
2. 7-Side Polygon
Requirements:
• Validate user input (must be a positive integer).
• Display neatly formatted shapes.
• Implement loop-based logic to generate patterns dynamically.
Evaluation Criteria:
Task Description Points
Task 1 Functional system information menu 5 pts
Task 2 Automated backup script with error handling 7 pts
Task 3 Shape printing with structured formatting 8 pts
Total Overall assignment weight 20%
Notes for All:
• Include clear user prompts for each script.
• Perform input validation to handle incorrect entries.
• Use comments within the code for clarity.
• Maintain organized and well-formatted output.