mirror of
https://github.com/acedanger/shell.git
synced 2025-12-06 07:50:11 -08:00
3.8 KiB
3.8 KiB
.env Backup Integration Guide
Quick Setup Summary
Your .env backup system is now fully operational! Here's what was set up:
✅ What's Working
- 31 .env files discovered across your Docker containers
- 30 files backed up successfully to
/home/acedanger/.env-backup - Private Gitea repository configured and pushed successfully
- Version control with automatic commit messages and timestamps
- Reference files included (docker-compose.yml for context)
🔧 Integration Options
1. Manual Backup (Current)
cd /home/acedanger/shell
./backup-env-files.sh # Regular backup
./backup-env-files.sh --dry-run # Preview changes
./backup-env-files.sh --list # Show all .env files
2. Automated Daily Backup (Recommended)
Add to your crontab for daily backups at 2 AM:
# Daily .env backup at 2 AM
0 2 * * * /home/acedanger/shell/backup-env-files.sh >/dev/null 2>&1
3. Integration with Existing Backup Scripts
The backup integrates with your existing backup system through:
- Logs: Written to
/home/acedanger/shell/logs/env-backup.log - Completion: Tab completion available via
env-backup-completion.bash - Validation: Use
validate-env-backups.shfor integrity checks
🔐 Security Features
- Private Repository: Only you have access
- Gitignore: Excludes temporary files and logs
- SSH Authentication: Uses your existing SSH key
- Local + Remote: Dual backup (local git + remote Gitea)
📊 Backup Structure
~/.env-backup/
├── docker-containers/
│ ├── authentik/
│ │ └── .env.example
│ ├── caddy/
│ │ ├── .env
│ │ ├── .env.example
│ │ └── docker-compose.yml.ref
│ ├── database/
│ │ ├── .env
│ │ ├── .env.example
│ │ └── docker-compose.yml.ref
│ └── ... (all your containers)
├── README.md
└── .env-backup-config
🔄 Common Operations
Restore Files (if needed)
./backup-env-files.sh --restore
Force Backup (ignore unchanged files)
./backup-env-files.sh --force
Check What Would Change
./backup-env-files.sh --dry-run
🚨 Emergency Recovery
If you lose your filesystem:
- Clone the backup:
git clone https://git.ptrwd.com/peterwood/docker-env-backup.git - Restore files:
./backup-env-files.sh --restore - Recreate containers: Your docker-compose.yml reference files are included
📈 Monitoring
- Logs: Check
/home/acedanger/shell/logs/env-backup.log - Git History: View changes with
git login backup directory - Validation: Run
validate-env-backups.shfor integrity checks
🔧 Maintenance
Weekly Validation (Recommended)
# Add to crontab for weekly validation
0 3 * * 0 /home/acedanger/shell/validate-env-backups.sh >/dev/null 2>&1
Cleanup Old Logs (Monthly)
The system automatically manages logs, but you can clean them manually if needed.
🆘 Troubleshooting
Push Fails
- Check SSH key:
ssh -T git@git.ptrwd.com - Verify repository exists and is private
- Check network connectivity
Files Not Found
- Verify Docker directory structure:
ls -la ~/docker/*/ - Check file permissions
- Run with
--listto see what's detected
Restore Issues
- Ensure target directories exist
- Check file permissions
- Use
--dry-runfirst to preview
Integration Complete! 🎉
Your .env files are now safely backed up and version controlled. The system will:
- Track all changes to your .env files
- Maintain a secure backup in your private Gitea
- Provide easy restore capabilities
- Integrate with your existing shell toolkit
Run ./backup-env-files.sh regularly or set up the cron job for automatic backups!