Chapter 15: Backup and Recovery
rsync
rsync -avz /src/ /dst/
rsync -avz /local/ user@host:/remote/
rsync -avz --delete /src/ /dst/
rsync -avz --dry-run /src/ /dst/
tar Archives
tar -czf backup.tar.gz /dir/
tar -xzf backup.tar.gz
tar -tzf backup.tar.gz
tar -czf - /dir/ | ssh user@host cat > /bak/bak.tar.gz
Automated Backup Script
#!/bin/bash
DATE=$(date +%Y%m%d)
DST=/backups/$DATE
mkdir -p $DST
rsync -avz /var/www/ $DST/www/
rsync -avz /etc/ $DST/etc/
find /backups -mtime +30 -delete
- 3-2-1 rule: 3 copies, 2 media types, 1 offsite
- Test restores regularly – backups mean nothing untested