A comprehensive, zero-to-advanced course on backup procedures, strategies, and tools for Red Hat Enterprise Linux 10 systems. Each module builds on the previous, progressing from theory through hands-on implementation to enterprise-grade deployment.
- Prerequisites
- Course Structure
- Recommended Learning Paths
- Lab Environment Setup
- Conventions Used in This Course
- Tools Covered
- Key Concepts Quick Reference
- License
| Requirement | Detail |
|---|---|
| OS | RHEL 10 (or compatible: AlmaLinux 10, Rocky Linux 10) |
| Access | Root or sudo privileges |
| Networking | Two machines recommended for client/server labs (VMs acceptable) |
| Storage | A second disk or LVM volume for practice (/dev/sdb used throughout) |
| Packages | dnf access (local mirror or internet) |
| Module | File | Topic | Level |
|---|---|---|---|
| 00 | 00-introduction.md | Backup Theory & Fundamentals | Beginner |
| 01 | 01-rhel10-filesystem.md | RHEL 10 Filesystem & What to Back Up | Beginner |
| 02 | 02-tar.md | tar — Archives, Compression & Incrementals |
Beginner–Intermediate |
| 03 | 03-rsync.md | rsync — Local/Remote Sync & Snapshot-Style Incrementals |
Intermediate |
| 04 | 04-dump-restore.md | dump / xfsdump — Filesystem-Level Backup |
Intermediate |
| 05 | 05-lvm-snapshots.md | LVM Snapshots — Consistent Pre-Backup Freezes | Intermediate |
| 06 | 06-restic.md | Restic — Modern Deduplicated Encrypted Backups | Intermediate–Advanced |
| 07 | 07-bareos.md | Bareos — Enterprise Backup (Full Install & Deep Configuration) | Advanced |
| 08 | 08-amanda.md | Amanda — Network Backup Server | Advanced |
| 09 | 09-strategy-automation.md | Backup Strategy and Automation | Intermediate–Advanced |
| 10 | 10-restore-testing.md | Restore Testing and Disaster Recovery Drills | All Levels |
| 11 | 11-security-compliance.md | Backup Security and Compliance | Advanced |
| 12 | 12-capstone-lab.md | Capstone Lab: Full Disaster Recovery Scenario | Advanced |
Follow modules in order: 00 → 01 → 02 → 03 → 09 → 10
00 → 01 → 03 → 05 → 06 → 09 → 10 → 11
00 → 01 → 05 → 07 → 09 → 10 → 11 → 12
00 → 01 → 02 → 03 → 04 → 05 → 06 → 07 → 08 → 09 → 10 → 11 → 12
All labs use a consistent test environment. Set this up before starting Module 02.
# Create a second VG and LV for practice
# Assumes /dev/sdb is available (add a 20GB disk to your VM)
sudo pvcreate /dev/sdb
sudo vgcreate backupvg /dev/sdb
sudo lvcreate -L 10G -n datalv backupvg
sudo mkfs.xfs /dev/backupvg/datalv
sudo mkdir -p /data
sudo mount /dev/backupvg/datalv /data
# Create a backup destination volume
sudo lvcreate -L 8G -n backuplv backupvg
sudo mkfs.xfs /dev/backupvg/backuplv
sudo mkdir -p /backup
sudo mount /dev/backupvg/backuplv /backup
# Populate /data with test content
sudo mkdir -p /data/{configs,logs,documents,databases}
sudo cp -r /etc/. /data/configs/
sudo dd if=/dev/urandom bs=1M count=50 | sudo tee /data/documents/testfile.bin > /dev/null
echo "Lab environment ready."| Role | Hostname | IP Example |
|---|---|---|
| Backup Server | backup-server |
192.168.100.10 |
| Client Machine | backup-client |
192.168.100.20 |
Add these to /etc/hosts on both machines:
192.168.100.10 backup-server
192.168.100.20 backup-client
#prompt = command runs as root$prompt = command runs as regular user[server]#= run on backup-server[client]#= run on backup-client- Config blocks show every directive with inline comments (
# explanation) - Each module ends with Lab Exercises and Review Questions
- Answers to Review Questions are provided at the bottom of each module
| Tool | Type | Use Case |
|---|---|---|
tar |
Archive | Simple file/directory archives, incrementals |
rsync |
Sync | Efficient local/remote sync, snapshot-style incrementals |
dump / xfsdump |
Filesystem | Level-based filesystem dumps (XFS native) |
| LVM Snapshots | Block | Crash-consistent point-in-time snapshots |
| Restic | Dedup+Encrypt | Modern, encrypted, deduplicated backups to any backend |
| Bareos | Enterprise | Full client/server backup with catalog, scheduling, pools |
| Amanda | Enterprise | Network backup server with tape/disk VTL support |
| Term | Definition |
|---|---|
| RPO | Recovery Point Objective — maximum acceptable data loss (time) |
| RTO | Recovery Time Objective — maximum acceptable downtime |
| Full Backup | Complete copy of all selected data |
| Incremental | Only changes since the last backup (of any kind) |
| Differential | Only changes since the last full backup |
| 3-2-1 Rule | 3 copies, 2 media types, 1 offsite |
| Deduplication | Storing identical data blocks only once |
| Retention Policy | Rules defining how long backups are kept |
| Catalog | Database of backup metadata (what was backed up, when, where) |
This project is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).
https://creativecommons.org/licenses/by-nc-sa/4.0/
Course version: 1.0 — RHEL 10 — February 2026 — All 13 modules complete
© 2026 UncleJS — Licensed under CC BY-NC-SA 4.0