- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
Welcome back, command-line champs!
In this challenge, we’re simulating a real-world task every sysadmin faces: managing and cleaning up system logs. This is where your rm, mv, cp, find, and echo commands come into play in a real scenario!
Challenge Brief
You’ve been asked to clean up a log directory on a RHEL 9 machine.
The logs are eating up space, and you need to:
? Task Overview
#!/bin/bash
# Step 1: List all files in /var/logs/
echo "Listing all files in /var/logs/"
ls /var/logs/
# Step 2: Delete unnecessary log files except syslog and auth.log
echo "Deleting unnecessary log files..."
find /var/logs/ -maxdepth 1 -type f -name "*.log" ! -name "syslog" ! -name "auth.log" -exec rm -v {} \;
# Step 3: Move remaining .log files to an archive folder
echo "Moving important logs to archive..."
mkdir -p /var/logs/archive
find /var/logs/ -maxdepth 1 -type f -name "*.log" -exec mv {} /var/logs/archive/ \;
# Step 4: Create a cleanup report
echo "Cleanup report - $(date)" > /var/logs/cleanup_report.txt
echo "Moved files:" >> /var/logs/cleanup_report.txt
ls /var/logs/archive/ >> /var/logs/cleanup_report.txt
echo "Remaining files in /var/logs/:" >> /var/logs/cleanup_report.txt
ls /var/logs/ >> /var/logs/cleanup_report.txt
What You Just Practiced
Bonus Challenge
Make this script interactive:
Want help building that version? Drop a comment and we’ll go there together.
Why This Matters
This type of script is gold in production. Automating file cleanup prevents your system from getting bloated and shows real command over Linux fundamentals. Try tweaking this to work for different folders or file types.
Next up? We’re jumping into file permissions and ownership. But for now—clean up, document your moves, and show that terminal who’s boss!
Tags:
#linux #redhat #rhcsa #techwithengineers #techtransition #learnlinux #devops #linuxlab #cloudwhistler #30daychallenge #opensource #techjourney
In this challenge, we’re simulating a real-world task every sysadmin faces: managing and cleaning up system logs. This is where your rm, mv, cp, find, and echo commands come into play in a real scenario!
Challenge Brief
You’ve been asked to clean up a log directory on a RHEL 9 machine.
The logs are eating up space, and you need to:
? Task Overview
- List all files in /var/logs/.
- Delete all .log files except syslog and auth.log.
- Move the remaining logs into an archive folder called /var/logs/archive/.
- Create a cleanup report that lists all deleted and moved files with timestamps.
#!/bin/bash
# Step 1: List all files in /var/logs/
echo "Listing all files in /var/logs/"
ls /var/logs/
# Step 2: Delete unnecessary log files except syslog and auth.log
echo "Deleting unnecessary log files..."
find /var/logs/ -maxdepth 1 -type f -name "*.log" ! -name "syslog" ! -name "auth.log" -exec rm -v {} \;
# Step 3: Move remaining .log files to an archive folder
echo "Moving important logs to archive..."
mkdir -p /var/logs/archive
find /var/logs/ -maxdepth 1 -type f -name "*.log" -exec mv {} /var/logs/archive/ \;
# Step 4: Create a cleanup report
echo "Cleanup report - $(date)" > /var/logs/cleanup_report.txt
echo "Moved files:" >> /var/logs/cleanup_report.txt
ls /var/logs/archive/ >> /var/logs/cleanup_report.txt
echo "Remaining files in /var/logs/:" >> /var/logs/cleanup_report.txt
ls /var/logs/ >> /var/logs/cleanup_report.txt
What You Just Practiced
| Command | Purpose |
|---|---|
| find | Searches for files matching specific criteria |
| rm -v | Deletes files with verbose output |
| mv | Moves files to another directory |
| mkdir -p | Creates a directory (and parents if they don't exist) |
| echo > | Outputs text to a file |
| ls | Lists files for logging/reporting |
Make this script interactive:
- Prompt the user for the log folder path.
- Confirm before deleting files.
- Add a log rotation option that backs up .log files with today’s date appended.
Want help building that version? Drop a comment and we’ll go there together.
Why This Matters
This type of script is gold in production. Automating file cleanup prevents your system from getting bloated and shows real command over Linux fundamentals. Try tweaking this to work for different folders or file types.
Next up? We’re jumping into file permissions and ownership. But for now—clean up, document your moves, and show that terminal who’s boss!
Tags:
#linux #redhat #rhcsa #techwithengineers #techtransition #learnlinux #devops #linuxlab #cloudwhistler #30daychallenge #opensource #techjourney