This is a submission for the Amazon Q Developer "Quack The Code" Challenge: Crushing the Command Line
What I Built
I built a modular, automated backup script in Bash called Q Backup Manager
that allows developers and sysadmins to back up important files and directories easily and efficiently. This script includes:
- Configurable source and destination paths
- Dry-run mode to preview the backup process
- Color-coded logging for easy readability
- Optional cron integration for scheduled backups
- Built with Amazon Q Developer CLI as a coding companion
It solves the common problem of forgetting to back up configuration files, codebases, or logs during fast-paced development — especially in environments where GUIs are unavailable (e.g., WSL, servers, containers).
Demo
Here are a few screenshots showcasing the tool in action:
🔧 Dry Run Example
Backup Success
To test the script locally:
git clone https://github.com/Puru54/q-backup-manager.git
cd q-backup-manager
chmod +x backup.sh
./backup.sh --dry-run
Code Repository
🔗 GitHub Repo: https://github.com/Puru54/q-backup-manager
Contains:
-
backup.sh
: the main Bash script -
README.md
: usage, features, and setup instructions -
screenshots/
: demo images for documentation and presentation
How I Used Amazon Q Developer
Amazon Q Developer acted as my AI pair programmer during the creation of this tool. Here's how I used it:
-
Script Review & Optimization
I asked Q to analyze mybackup.sh
file. It offered valuable recommendations:- Refactor the script into logical functions
- Add modular logging
- Improve error handling
Debugging Logic
Amazon Q helped identify a subtle issue in the dry-run mode and suggested a more reliable way to structure thersync
flags.
“I asked Q to optimize my backup logic for modularity and logging — and it delivered.”
Conclusion
This project makes my day-to-day development work much smoother by ensuring my local and server files are backed up reliably. The Amazon Q Developer CLI didn’t just speed up development — it taught me best practices in shell scripting along the way.
Check it out: https://github.com/Puru54/q-backup-manager
Built with the help of Amazon Q Developer
Challenge: Crushing the Command Line