Start your terminal to use beginner mode.
Scenario
Configuration files in /etc are at risk of being lost due to accidental changes or deletions, and there's currently no automated backup process in place.
Task
Write a shell script at /usr/local/bin/backup_etc.sh that accepts a target backup path (where files will be saved at) as a command-line argument, creates a compressed archive of /etc with the naming format etc-backup-YYYY-MM-DD.tar.gz, automatically removes backups older than 7 days, and exits with an error if no path is provided. Make the script executable and create a cron job to run it daily at 02:00 AM, storing backups in /backups/etc/ using crontab command. You can use https://crontab.guru for cronjob format.
Once script is created execute it /usr/local/bin/backup_etc.sh /backups/etc/
Example
# Before (no automated backups)
No backup script exists
/etc directory unprotected
Manual backups required
# After (automated backup system configured)
Backup script created and executable
Running without argument:
Error: Backup directory path required
Running with argument creates timestamped backup:
/backups/etc/etc-backup-2025-11-06.tar.gz
After 7 days of daily backups:
etc-backup-2025-11-01.tar.gz (deleted - older than 7 days)
etc-backup-2025-11-02.tar.gz (deleted - older than 7 days)
etc-backup-2025-11-03.tar.gz
etc-backup-2025-11-04.tar.gz
etc-backup-2025-11-05.tar.gz
etc-backup-2025-11-06.tar.gz
etc-backup-2025-11-07.tar.gz
etc-backup-2025-11-08.tar.gz
etc-backup-2025-11-09.tar.gz
Cron job configured: runs daily at 02:00 AM
Terminal requires a larger screen
Open this page on a desktop or tablet (≥ 768px) to launch the terminal and practice hands-on.
Linux Terminal Environment
Write and execute your solution in the terminal below.
Microsoft
Accenture
Coinbase
Adobe
EPAM
Twitch
Amazon
Kayak
Autodesk
Lyft
Revolut
RedHat
Bloomberg
Datadog
Palantir
TCS
HashiCorp
Google
DeutscheBank
GitHub
Apple
Cloudflare
Stripe
NVIDIA
GoDaddy
X
SAP
Spotify
Airbnb
Meta
Reddit
Yelp
Okta
Dropbox
Slack
ActivisionBlizzard
Zscaler
Uber
IBM
DeliveryHero
Robinhood
GitLab
Shopify
Samsung
Elastic
Twilio
Netflix
CrowdStrike
Ubisoft
Anthropic
Capital One
Splunk
Intel
AMD
Databricks