Backups are your safety net. Without them, data loss is permanent. Learn to implement robust backup strategies.
Backup Types
Full Backup
Complete copy of all data. Most comprehensive but storage-intensive.
Incremental Backup
Only changed files since last backup. Faster and uses less space.
Differential Backup
All changes since last full backup. Balance between full and incremental.
Backup Tools
tar
# Create backup
tar -czf backup-$(date +%Y%m%d).tar.gz /path/to/backup
# Extract
tar -xzf backup-20250131.tar.gz
# List contents
tar -tzf backup-20250131.tar.gz
rsync
# Sync directories
rsync -avz /source/ /destination/
# Remote backup
rsync -avz -e ssh /local/ user@remote:/backup/
# Dry run
rsync -avzn /source/ /destination/
dd
# Disk image
dd if=/dev/sda of=/backup/disk.img bs=4M status=progress
# Restore
dd if=/backup/disk.img of=/dev/sda bs=4M status=progress
Database Backups
PostgreSQL
pg_dump database > backup.sql
pg_restore backup.sql
MySQL
mysqldump database > backup.sql
mysql database < backup.sql
Automated Backups
Cron Script
#!/bin/bash
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d)
tar -czf "$BACKUP_DIR/backup-$DATE.tar.gz" /important/data
find $BACKUP_DIR -name "backup-*.tar.gz" -mtime +30 -delete
Offsite Backups
- Cloud storage (S3, Backblaze)
- Remote server via SSH
- Physical media rotation
- Multiple locations
Backup Verification
# Test restore
tar -tzf backup.tar.gz > /dev/null && echo "OK" || echo "FAILED"
# Compare checksums
md5sum original > checksum.txt
md5sum -c checksum.txt
Recovery Testing
- Regularly test restore procedures
- Document recovery steps
- Know recovery time objectives (RTO)
- Know recovery point objectives (RPO)
Best Practices
- 3-2-1 rule: 3 copies, 2 media types, 1 offsite
- Automate backups
- Verify backups regularly
- Encrypt sensitive backups
- Document procedures
Backups are worthless if you can't restore from them. Test regularly!