-
Use these placeholders in the backup directory path. They are resolved at backup time.
+
+
How Path Resolution Works
+
The backup directory path is resolved at backup time. You can use absolute paths, relative paths, or placeholder paths.
+
+
+
+
+
Start with / (Linux) or a drive letter (Windows). Used as-is.
+
+ /home/user/backups — Fixed path on the server
+ /var/backups/joomla — System backup directory
+
+
+
+
+
+
+
+
Paths that do not start with / are resolved relative to the Joomla root directory, using the same conventions as URL paths:
+
+ | Path | Meaning | Resolves To |
+
+ backups | Subdirectory of Joomla root | {$jRoot}/backups |
+ ./backups | Same as above (explicit current dir) | {$jRoot}/backups |
+ ../backups | One level above Joomla root | Parent of {$jRoot} |
+ ../../backups | Two levels above Joomla root | Grandparent of {$jRoot} |
+
+
+
+ Warning: Relative paths that stay inside the web root may expose backup files to direct download if .htaccess is not supported. Use ../ or [HOME] to store backups outside the web root.
+
+
+
+
+
+
+
+
Use [PLACEHOLDER] tokens that are replaced with actual values at backup time. This makes paths portable across servers.
+
+ [HOME]/backups — User's home directory + /backups
+ [HOME]/[HOST]/backups — Per-site subdirectory under home
+ [DEFAULT_DIR] — Joomla's default backup directory
+
+
+
+
+
Available Placeholders
- | Placeholder | Description | Example |
+ | Placeholder | Description | Current Value |
- [HOME] | Home directory of the server user | {$placeholders['[HOME]']} |
- [DEFAULT_DIR] | Default backup directory (inside web root) | {$placeholders['[DEFAULT_DIR]']} |
- [HOST] | Server hostname | {$placeholders['[HOST]']} |
- [SITE_NAME] | Joomla site name | {$placeholders['[SITE_NAME]']} |
- [DATE] | Date (Ymd) | {$placeholders['[DATE]']} |
- [YEAR] | Four-digit year | {$placeholders['[YEAR]']} |
- [MONTH] | Two-digit month | {$placeholders['[MONTH]']} |
- [DAY] | Two-digit day | {$placeholders['[DAY]']} |
- [PROFILE_ID] | Backup profile ID | 1 |
- [PROFILE_NAME] | Profile title | default |
- [TYPE] | Backup type | full |
+ [HOME] | Home directory of the PHP process owner. Detected from environment, POSIX, or JPATH_ROOT. | {$placeholders['[HOME]']} |
+ [DEFAULT_DIR] | Default backup directory inside the Joomla web root. Protected by .htaccess but not recommended for production. | {$placeholders['[DEFAULT_DIR]']} |
+ [HOST] | Server hostname from HTTP_HOST. Sanitized to alphanumeric, dots, and hyphens. | {$placeholders['[HOST]']} |
+ [SITE_NAME] | Joomla site name from Global Configuration. Spaces become hyphens, special characters stripped. | {$placeholders['[SITE_NAME]']} |
+ [DATE] | Current date in Ymd format (e.g. 20260623). | {$placeholders['[DATE]']} |
+ [YEAR] | Four-digit year. | {$placeholders['[YEAR]']} |
+ [MONTH] | Two-digit month (01-12). | {$placeholders['[MONTH]']} |
+ [DAY] | Two-digit day (01-31). | {$placeholders['[DAY]']} |
+ [PROFILE_ID] | Numeric ID of the backup profile being used. | 1 |
+ [PROFILE_NAME] | Title of the backup profile, sanitized for filesystem use. | default |
+ [TYPE] | Backup type: full, database, files, or differential. | full |
-
Recommended Paths
-
- [HOME]/backups — Outside web root (recommended)
- [HOME]/backups/[HOST] — Per-site subdirectory
- [DEFAULT_DIR] — Inside web root (protected by .htaccess)
-
+
+
Recommended Configurations
+
+ | Use Case | Path | Notes |
+
+
+ | Single site, secure |
+ [HOME]/backups |
+ Outside web root. Best for most sites. |
+
+
+ | Multiple sites on one server |
+ [HOME]/backups/[HOST] |
+ Each site gets its own subdirectory. |
+
+
+ | Date-organized |
+ [HOME]/backups/[YEAR]/[MONTH] |
+ Backups sorted by year and month. |
+
+
+ | Per-profile |
+ [HOME]/backups/[PROFILE_NAME] |
+ Separate directory for each backup profile. |
+
+
+ | Shared hosting (default) |
+ [DEFAULT_DIR] |
+ Inside web root, protected by .htaccess. Use only if you cannot write outside web root. |
+
+
+
+
+
+ Tip: The directory is created automatically if it doesn't exist. Placeholders are resolved fresh each time a backup runs, so date-based paths create new directories over time.
+