Your home folder holds years of work: documents, photos, projects, settings, and a hundred small files you would hate to rebuild from memory. Keeping a second copy on an external drive is one of the simplest and strongest protections you can give that data. The challenge is doing it in a way that stays fast and easy, week after week.
That is exactly what rsync was built for. Instead of copying everything every time, rsync compares the source and the destination and transfers only what changed. Add the progress display, and you can watch each file move and see the overall speed. In this guide you will mirror your home folder to an external drive with a clear, repeatable command.
Quick Answer
Plug in and mount your external drive, then run rsync -avh --progress /home/yourname/ /media/yourname/BackupDrive/home-backup/. The trailing slash on the source means copy the contents of the folder, and -a preserves permissions and times while --progress shows the transfer live. Run the same command again later and only new or changed files will copy.
Why Rsync Is Ideal for Mirroring
A plain copy command treats every backup as a fresh job. If your home folder holds 200 gigabytes and you changed three documents, a plain copy still moves all 200 gigabytes. Rsync is smarter. It builds a list of files, checks sizes and modification times, and sends only the differences. The first mirror takes a while; later mirrors often finish in minutes.
Rsync also preserves the details that make a backup truly restorable: permissions, ownership where you run it with the right rights, symbolic links, and timestamps. That preservation is what the archive option, -a, provides. For a mirror of your home folder, those details matter, because a restored file with the wrong permissions can cause fresh problems. The official rsync website hosts the full manual and explains the transfer algorithm in depth.
Step 1: Prepare the External Drive
Start with the destination, because most rsync confusion is really destination confusion. Plug in the drive and make sure it is mounted and has enough free space for your home folder.
- Connect the drive and open your file manager to confirm it appears.
- Find its mount point with
lsblkordf -h. On Ubuntu it is often something like/media/yourname/BackupDrive. - Check free space on that line of the
df -houtput and compare it with the size of your home folder fromdu -sh ~. - Create a clear destination folder with
mkdir -p /media/yourname/BackupDrive/home-backup.
Think about the drive format too. A drive formatted with a Linux filesystem such as ext4 preserves permissions perfectly. A drive formatted as FAT32 cannot store large files over 4 gigabytes or Linux permissions properly, so an exFAT or ext4 drive is a much better choice for a home folder mirror.
Step 2: Understand the Command Before Running It
The mirror command looks dense, but each part has a plain meaning:
rsync— the program itself.-a— archive mode, which recurses into subfolders and preserves permissions, times, links, and more.-v— verbose, listing each file as it is processed.-h— human-readable sizes, so you see megabytes and gigabytes instead of raw bytes.--progress— a live progress line for each file, showing percentage, speed, and estimated time remaining./home/yourname/— the source, with a trailing slash./media/yourname/BackupDrive/home-backup/— the destination folder.
The Trailing Slash Rule
This small detail decides the shape of your backup. A trailing slash on the source means copy the contents of this folder into the destination. Without the slash, rsync copies the folder itself, creating an extra level such as home-backup/yourname/Documents. Neither is wrong, but mixing them between runs creates a confusing double structure. Pick the contents style shown here and use it consistently. The rsync manual page explains this rule with examples, and it is the single most useful page to bookmark.
Step 3: Do a Dry Run First
Before copying anything, ask rsync to pretend. Adding -n, or the longer --dry-run, shows what would happen without moving a single file: rsync -avh --progress --dry-run /home/yourname/ /media/yourname/BackupDrive/home-backup/.
Read the list it prints. You should see the files you expect, heading to the destination you expect. If you see an extra folder level, your slash is wrong. If you see system folders you never intended to back up, stop and adjust. A thirty-second dry run has saved many people from copying hundreds of gigabytes to the wrong place, so make it a habit before every new rsync command.
Step 4: Run the Real Mirror
Remove the --dry-run option and run the command for real. The terminal will stream each file name with its progress, speed, and time estimate. Large files such as videos show a satisfying percentage counter; small files flash past in a blur.
- Run the full command and let it work without closing the terminal.
- Watch the final summary, which reports total size, how much was actually transferred, and the overall speed.
- Spot-check the destination: open a few documents and photos from the drive to confirm they are complete.
- Safely eject the drive when you finish, rather than just pulling the cable out.
On the second run, the summary tells the real story of rsync. The total size stays large, but the transferred amount drops to only your recent changes. That is the mirror working as designed. To make this a hands-off routine, combine it with our guide on setting up a cron job that runs a backup every Sunday, keeping the drive connected on backup day.
Should You Add the Delete Option?
A true mirror matches the destination to the source exactly, including deletions. Adding --delete makes rsync remove destination files that no longer exist in your home folder. That keeps the mirror clean, but it also means a file you deleted by accident disappears from the backup on the next run.
For most home users, leaving --delete out at first is wiser. Your destination becomes an accumulating copy where old files survive, which is more forgiving. Once you understand your routine, and perhaps keep a second backup elsewhere, you can add the option deliberately. Never add it on your very first run, and always dry-run a command that includes it.
Common Mistakes and Useful Tips
- Copying to an unmounted drive. If the external drive is not mounted, rsync may happily copy into an empty folder on your internal disk with the same path. Always confirm the mount with
df -hfirst. - Excluding nothing at all. Cache folders can be huge and pointless to mirror. Add excludes such as
--exclude='.cache'to skip them and save time and space. - Interrupting the first run and assuming it failed. Rsync can resume efficiently on the next run because completed files are already in place and will be skipped after checking.
- Using the backup drive for other files in the same folder. Keep the mirror folder dedicated, so nothing else gets tangled in the sync.
- Never testing a restore. Copy one important folder back to a test location once in a while. A backup is only real when a restore has worked at least once.
- Forgetting the drive fills up. Check free space occasionally, especially if you leave out the delete option and old files accumulate.
Conclusion
Mirroring your home folder with rsync is one command, understood properly: archive mode to preserve everything, progress to watch it happen, a trailing slash to get the structure right, and a dry run before the real thing. The first mirror copies it all, and every mirror after that copies only the changes. Keep the command in a small script, run it regularly, and your external drive will always hold a faithful, current copy of the folder that matters most.
Frequently Asked Questions
How long does the first mirror usually take?
It depends on the size of your home folder and the speed of the drive and its connection. A few hundred gigabytes over a fast USB connection may take an hour or more. Later runs are far quicker because only changed files transfer.
What is the difference between rsync and a normal copy?
A normal copy moves everything every time. Rsync compares source and destination first and moves only new or changed data, and it preserves permissions, times, and links in archive mode. That makes repeated backups practical.
Can I stop rsync in the middle and continue later?
Yes. Files already copied stay on the drive, and the next run checks and skips them. Adding the --partial option also keeps partly transferred large files so they can resume instead of starting again.
Should I use –delete for a mirror?
Only when you truly want the destination to match the source exactly, including removals. It keeps the mirror tidy but removes your safety net for accidentally deleted files, so add it carefully and always dry-run first.
Why does rsync create an extra folder with my username?
That happens when the source path has no trailing slash. The slash means copy the contents; without it, rsync copies the folder itself into the destination. Adjust the slash and run again to get the structure you want.


Leave a Reply