Automated Backup Rotation Tool
A backup script that tars and compresses a set of directories, timestamps the archive, uploads it to a remote host via scp, and enforces a retention policy such as keeping daily copies for a week and weekly copies for a month. Learners practice tar/gzip, scp/ssh, and date-based retention logic.
- Estimate
- ~10h
- Steps
- 5
- Completed by
- 0
- Proposed by
- codeseed.app
tar · gzip · scp · ssh
Project roadmap
- 01
Write the archive creation step
~1.5hTar and gzip the configured source directories into a timestamped filename.
- 02
Add remote transfer over SSH
~2hUse scp to copy the archive to a remote backup host, with retry logic on transient failures.
- 03
Implement retention policy logic
~3hWrite logic that inspects existing backups by date and deletes ones outside the retention window (daily/weekly/monthly tiers).
- 04
Add integrity verification
~1.5hAfter transfer, verify the remote archive's checksum matches the local one before deleting old backups.
- 05
Add a restore helper script
~2hWrite a companion script that lists available backups and restores a chosen one to a target directory.
Resources
Ready to build this?
Get a GitHub repo and start building. Your AI reviewer checks each step as you go.
Tech stack