Start here
FM Backup makes a copy of your entire Joomla site — all of your files and your whole database — and puts it into one ZIP file. If your site later breaks, gets hacked, or an update goes badly, you can put that copy back and carry on.
That is the whole idea. Everything else in this guide is detail.
The three-minute version
If you read nothing else, do these three things:
- Run a backup now — section 3. A profile called Standard is already set up for you, so this takes two clicks.
- Move your backups somewhere the public cannot reach — section 6. This one genuinely matters.
- Set backups to run automatically — section 8. A backup you have to remember to make is a backup you will not have.
What a backup actually contains
Everything. Your articles, images, extensions, template changes, user accounts, settings, and the database behind all of it. Restoring returns your site to exactly the state it was in the moment the backup ran.
Anything changed after the backup ran is not in it. This is why backup frequency matters: a monthly backup means you could lose up to a month of work.
Your backups are ordinary ZIP files. You can open one on your own computer with any unzip tool and see your site inside it. Nothing is locked into a special format that only this software can read — your data stays yours, and stays recoverable, whatever happens to this extension.
Installing
- In Joomla administration, go to System › Install › Extensions.
- Drag the FM Backup package file onto the upload area, or click to browse for it.
- Wait for the success message.
FM Backup now lives at Components › FM Backup. Open it and you will land on the Dashboard.
What was installed
The one package contains three parts:
| Part | What it does | Active? |
|---|---|---|
| The component | Everything you see and click — making backups, restoring, settings, history. | Ready now |
| Scheduled task plugin | Lets Joomla run backups automatically on a timetable. | Off until you enable it |
| Dashboard icon plugin | Adds a tile to your Joomla home screen showing how old your last backup is. | Off until you enable it |
The two plugins start switched off on purpose. Nothing runs on a schedule, and nothing changes on your dashboard, until you decide it should. Turning them on is covered in sections 8 and 9.
Your first backup
- Go to Components › FM Backup › Backup Profiles.
- You will see a profile called Standard. Click Run Now next to it.
- A progress page opens. Leave this browser tab open and in front of you.
- When it reaches 100%, you are done. Click View Backups to see your archive.
What to expect while it runs
Closing the tab or clicking away does not ruin the backup — it pauses it. Go to Logs, find the paused run, and click Resume to pick up where it stopped.
It pauses because your browser is what drives the backup forward, a step at a time. That design is what lets large sites finish on ordinary hosting instead of hitting a time limit and dying half way. If you would rather backups did not need a browser window at all, that is exactly what scheduling is for — section 8.
Reading the results
Three screens tell you what has happened.
Dashboard
The overview. Shows your most recent backup — when it ran, whether it worked, how big it is — plus recent activity. This is the screen to glance at when you want quick reassurance that backups are still happening.
Backups
Every archive currently on disk, with its size and date. From here you can:
- Details — look inside the archive without unpacking it: how many files and database tables it holds, which Joomla version made it, and the fifty largest files in it. That last list is the fastest way to find out why a backup is enormous.
- Download — save a copy to your own computer. Do this regularly; see section 15.
- Delete — remove an archive permanently.
Logs
The full history of every backup and restore, successful or not. Click any entry for a step-by-step account of the run with timings. When something has gone wrong, this is where the answer is — and it is the first thing to look at before asking anyone for help.
| Status | Meaning |
|---|---|
| Success | Finished. You have a usable backup. |
| In Progress | Running right now. |
| Paused | Stopped part-way; you navigated away. Resume it from this screen. |
| Failed | Something went wrong. Open the entry to see what — then see section 14. |
| Cancelled | You stopped it deliberately. |
A failed or paused run has not produced a usable backup, whatever partial file may exist on disk. If you see repeated failures, deal with them now rather than discovering the gap on the day you need to restore.
Where backups are stored
By default, archives are written inside your Joomla installation, in a folder belonging to FM Backup. You can see and change this at Components › FM Backup › Options › Storage Folder.
The default is chosen because it works everywhere without configuration. It is not the best place. Two reasons:
- Privacy. Anything inside your website folder can potentially be reached from the internet. See the next section — this is the important one.
- It is on the same disk as your site. If the server fails, you lose the site and its backups together. A backup stored only next to the thing it is backing up has not really protected you.
You can enter either a path relative to your site (the default style) or a full absolute
path anywhere your web server can write. If your hosting gives you a folder above your
public web folder — often called something like private or sitting beside
public_html — that is the right place for backups.
Keeping backups private
A backup of your site contains your database password in plain text, along with every user account and password on the site. It is the single most sensitive file your website will ever produce. Anyone who downloads one effectively owns your site.
Check whether yours are exposed
Worth doing once, and it takes a minute:
- Go to Backups and note the exact filename of an archive.
- Open a private or incognito browser window — this matters, so you are not logged in.
- Try to visit that file's web address directly. If your storage folder is at the default location, that is your site address followed by
/administrator/components/com_fmbackup/backups/and then the filename. - If a download starts, your backups are public. Fix it now.
FM Backup places protective files in the storage folder that block this on most servers. On some server setups those files are ignored entirely. Testing is the only way to know which kind of server you have.
Fixing it
Best first:
- Move the storage folder outside your public web folder, as described in section 5. Nothing outside that folder can be requested over the web at all, whatever the server configuration. This is the real fix.
- Ask your host to block web access to that folder, if you cannot move it.
Also worth knowing:
- Backups are not encrypted. Anyone who obtains the file can read everything in it.
- Treat downloaded copies with the same care — a backup sitting in your Downloads folder or emailed to yourself is the same sensitive file.
- Only administrators can reach FM Backup, and downloads through the component are protected against tampering. The risk is the storage folder being readable directly, not the component itself.
Backup profiles
A profile is a saved recipe describing what to include in a backup. The Standard profile that came with the component backs up everything, and for most people that is the right answer permanently. You never have to create another one.
Profiles become useful when you want more than one kind of backup. A common arrangement:
- A full profile — everything — run weekly.
- A database-only profile — small and fast — run daily. Your articles, orders and comments live in the database, so this captures nearly all day-to-day change for a fraction of the size.
Creating one
Go to Backup Profiles and click New. Give it a name, fill in what you need from the fields below, and save.
images/video-archive. Everything on your site is included unless you
exclude it here.
* works as a wildcard. Leave this alone
unless you know a particular table is both huge and disposable.
_external. Read the warning below before relying on this.
Files captured from outside your site are stored safely in the archive, but a restore will not write them back to their original locations. You must copy them into place yourself from inside the ZIP. This is deliberate: writing files to arbitrary places on a server during an automated restore is dangerous, and doing it silently more so.
There is no single "database only" switch. Create a profile and exclude everything
from the file side by entering a single line of * in
Additional File Paths to Exclude. Run it once and check the result
in Details before trusting it.
What is already left out
Some things are excluded by default for everyone, because backing them up wastes space and achieves nothing: temporary folders, cache folders, and FM Backup's own history tables. The Standard profile additionally skips loose ZIP files and the storage folders of other backup extensions — otherwise your backup ends up containing someone else's backups and grows enormous. You can see and adjust these defaults in Options.
Automatic backups
Manual backups get forgotten. This is the section that turns FM Backup from something you use into something that protects you.
Setting it up
- Go to System › Manage › Plugins and search for Task - FM Backup. Open it, set Status to Enabled, and save.
- Go to System › Manage › Scheduled Tasks and click New.
- Choose the task type FM Backup - Run Profile.
- Give it a name you will recognise later, such as "Nightly backup".
- In the task's options, choose which profile to run.
- Set the Execution Rule — for example, daily at 3am, when your site is quiet.
- Save.
The step everybody misses
Creating a scheduled task is not enough on its own. Joomla's scheduler has to be woken up by something before it will run anything. Check Scheduled Tasks › Options to see how yours is set.
The common setting, Lazy Scheduler, wakes up when visitors browse your site. That is fine for a busy site, but on a quiet one your 3am backup may not run until someone visits at lunchtime. For backups you actually depend on, ask your host about setting up a proper cron job — most hosting control panels offer this, and Joomla's own options screen tells you what address to point it at.
Confirming it works
Do not assume. On the Scheduled Tasks list, click Run on your new task to trigger it by hand, then check FM Backup › Logs for a new entry marked Success.
If the manual run works but nothing appears overnight, the task is fine and the trigger is the problem — go back to the warning above. Then check again after a day or two that backups are appearing on their own.
A scheduled backup runs entirely on the server, so nothing has to stay open and there is no pausing. This is the more reliable way to run backups on a large site.
The dashboard tile
FM Backup can add a tile to your Joomla home screen showing how long ago your last successful backup ran. It is an easy way to notice that backups have quietly stopped — which is exactly the sort of thing nobody notices until it matters.
- Go to System › Manage › Plugins and search for Quick Icon - FM Backup.
- Open it, set Status to Enabled, and save.
- Go to your Joomla Home Dashboard.
Reading the tile:
- Green — a successful backup within the last 24 hours.
- Red — the last backup is more than 24 hours old, or there has never been one. Worth investigating.
If you deliberately back up weekly rather than daily, the tile will show red most of the time. That is expected and not a fault; either accept it or leave the plugin disabled.
Housekeeping
Backups accumulate, and each one is roughly the size of your site. Left alone they will eventually fill your hosting account — and a full disk breaks the website itself, not just the backups. FM Backup manages this in two ways.
Keep the most recent few
Options › Retention Count sets how many archives to
keep per profile — ten by default. After each successful backup, anything older
than that count is deleted. Set it to 0 to keep everything and manage the
folder yourself.
A retention count of 1 leaves you with exactly one backup — and if the most recent run captured a site that was already broken or compromised, that is now the only copy you have. Several backups spanning several days is what lets you go back to before a problem started. Three is a sensible minimum; the default of ten is better.
Delete anything older than a set age
A second, optional task deletes backups by age rather than count. Set it up exactly like the backup task in section 8, but choose the task type FM Backup - Purge Old Backups, pick a profile, and set how many days to keep (30 by default).
This one always keeps the single most recent backup, even if it is older than the limit — so it can never empty your storage folder completely.
Why both? Retention by count only happens as a side effect of a successful backup. If backups quietly stop working, nothing gets tidied up ever again. The age-based purge runs on its own schedule regardless, so it keeps working when the other one cannot. Using both is fine; whichever applies first simply gets there first.
Restoring
Restoring puts a backup back, returning your site to how it was when that backup ran.
A restore replaces your current files and database with the ones from the archive. Anything created since that backup ran is gone. There is no undo.
Take a fresh backup before restoring, even when the current site is broken. If the restore turns out to be the wrong one, that new backup is your way back. If a restore stops half way through, the site is left partway between two states — this is precisely when having that extra copy saves you.
How to restore
- Go to Components › FM Backup › Restore.
- Choose the backup to restore from. The list shows the date and profile of each archive found in your storage folder.
- Choose what to restore — see the options below.
- Read the warning on screen, then click Start Restore.
- Leave the tab open until it finishes, exactly as with a backup.
The options
Restoring a backup from elsewhere
The Restore screen simply lists whatever ZIP archives it finds in your storage folder. You can copy a backup taken from another site into that folder and it will appear in the list, ready to restore. Nothing needs to be registered or imported first.
This is what makes recovery possible in the situations that matter — rebuilding on a new server, or restoring a site whose own records are damaged.
After a restore
- Log in to administration again — restoring the database restores the old sessions, so you will be logged out.
- Clear your Joomla cache: System › Clear Cache.
- Check the front end of the site properly: a few pages, images, and a login.
Moving to a new host
The same mechanism that restores a site can move one. The important detail is that FM Backup adjusts the database naming automatically, so a backup from one site will import cleanly into another even when the two were set up differently.
- On the old site, run a backup and download it to your computer.
- On the new server, install Joomla normally, then install FM Backup on it.
- Set the storage folder on the new site, then upload your archive into that folder using FTP or your host's file manager.
- Go to Restore. Your uploaded archive appears in the list.
- Choose Files and Database, and leave Restore configuration.php switched OFF.
- Run the restore, then log in and check the site.
If you leave Restore configuration.php switched on when moving to a different server, the new site inherits the old server's database password and folder paths. The result is a site that will not load at all, usually with a database connection error.
If this happens, it is fixable: edit configuration.php in your site's
root folder by FTP and correct the database settings and paths for the new server.
Settings reference
Found at Components › FM Backup › Options. The defaults are sensible; the only one most people should change is the first.
| Setting | Default | What it does |
|---|---|---|
| Storage Folder | Inside the site | Where archives are written. Worth moving outside your public web folder — see section 6. |
| Retention Count | 10 | How many archives to keep per profile. 0 keeps all. Do not set this to 1. |
| Debug Mode by Default | No | Turns on detailed logging for new profiles. Leave off unless investigating a problem. |
| Step Time Budget | 20 seconds | How long the backup works before reporting progress and continuing. Lower it if runs fail with timeout errors; otherwise leave it. |
| ZIP Compression Level | 6 | Higher makes smaller archives but takes longer. See the note below. |
| Default File Exclusions | Caches, temp, .git |
Applied to every profile. Rarely needs changing. |
| Default Database Table Exclusions | Sessions, search index, cache | Applied to every profile. Excludes data that rebuilds itself anyway. |
FM Backup already skips compressing files that are compressed by nature — photographs, video, PDFs. Turning the level up therefore does far less than you would expect on a media-heavy site, while costing real time on every run. If your backups are slow and disk space is not tight, try lowering it rather than raising it.
When something goes wrong
Start at Components › FM Backup › Logs and open the failed run. For a stubborn problem, switch Debug Mode on in the profile and run it again for far more detail.
configuration.php, especially if you restored onto a
different server with that option switched on. See section 12.
Asking for help
Include these, and you will get a useful answer first time:
- Your Joomla and PHP versions
- Your FM Backup version
- What kind of hosting (shared hosting, VPS, local)
- What you did, what happened, and what you expected
- The log from the failed run, with Debug Mode on
Debug logs list server folder paths and can include details you would not want public. Read through and remove anything sensitive before posting one in a public forum.
Tips from experience
What it does not do
Stated plainly, so nothing surprises you at a bad moment.
- No automatic offsite copies. Archives are written to your own server. Sending them to cloud storage or another machine is currently your job — and worth doing.
- Every backup is a full backup. There is no incremental mode that saves only what changed, so each archive is roughly the size of your site.
- Restores cannot be undone or rolled back. If one fails part-way, the site is left in a mixed state. This is why taking a fresh backup first matters.
- External paths are archived but never put back automatically — see section 7.
- Deleting an archive leaves its history entry behind. The Logs list can mention backups that are no longer on disk. Harmless, but worth knowing so it does not confuse you.
- MySQL and MariaDB only. PostgreSQL is not supported.
- One site per installation. There is no multi-site management.
Run backups automatically, keep several, store them where the public cannot reach them, keep a copy somewhere other than the server, and restore one onto a test site at least once so you know it works. Do those five things and you are in a genuinely good position.