Make your backup paths and filenames dynamic and portable. Placeholders like [HOST], [DATETIME], [PROFILE_NAME] and [DEFAULT_DIR] are resolved at backup time in your backup directory, archive name format, and remote destination paths — so one profile works across servers without hard-coded paths.
Overview
Placeholders are tokens enclosed in square brackets that are resolved at backup time. Use them in the Backup Directory and Archive Name Format fields of a backup profile, and in the destination path fields — the Local destination path, the S3 Path Prefix, and the Google Drive Subfolder Path — to create dynamic, portable paths and filenames.
Available Placeholders
| Placeholder | Resolves To | Example |
|---|---|---|
[HOST] | Server hostname (sanitised) | www.example.com |
[SITE_NAME] | Joomla site name (sanitised) | My-Joomla-Site |
[DATE] | Date as Ymd | 20260607 |
[TIME] | Time as His | 143025 |
[DATETIME] | Date and time as Ymd_His | 20260607_143025 |
[YEAR] | Four-digit year | 2026 |
[MONTH] | Two-digit month | 06 |
[DAY] | Two-digit day | 07 |
[HOUR] | Two-digit hour (24h) | 14 |
[MINUTE] | Two-digit minute | 30 |
[SECOND] | Two-digit second | 25 |
[PROFILE_ID] | Backup profile ID | 1 |
[PROFILE_NAME] | Profile title (sanitised) | Daily-Full |
[TYPE] | Backup type | full, database, files, differential |
[RANDOM] | Random 6-character hex string | a3f2b1 |
[DEFAULT_DIR] | Default backup directory (from the component's Default backup directory option) | /home/user/backups |
[HOME] | Home directory of the PHP process owner | /home/user |
Where Placeholders Resolve
Placeholders are resolved in the profile's Backup Directory and Archive Name Format fields, and in the path fields of remote destinations:
- Local destination path — run through the same resolver as the profile's backup directory. Tokens such as
[HOME]and[HOST]in a local destination path are expanded to their real values at backup time. Previously these were treated literally, which created folders with the literal bracketed names (for example a directory called[HOME]) inside the web root — that no longer happens. - S3 Path Prefix — the object-key prefix (e.g.
[HOST]/backups) is resolved before use, so a value like[HOST]/backupsbecomes a real folder in the bucket rather than a literal[HOST]key. Because this is an object-key prefix and not a filesystem path, the[DEFAULT_DIR]/ relative-path handling does not apply to it. - Google Drive Subfolder Path — the subfolder path (e.g.
[HOST]/[YEAR]) is resolved, and each/segment is found or created under the configured Drive folder (or your Drive root); the deepest folder holds the uploaded file.
Each placeholder-enabled field shows a clickable Insert: legend of placeholder pills — click a pill to insert that token at the cursor.
Note: remote destination paths (Local, S3, Google Drive) resolve environment tokens — [HOST], [SITE_NAME], [HOME], [DEFAULT_DIR], and the date/time tokens. The per-backup tokens ([PROFILE_ID], [PROFILE_NAME], [TYPE], [RANDOM]) are intended for the profile's Archive Name Format and are not meaningful in a destination path.
Examples
Archive Name Format
Default: [HOST]_[DATETIME]_profile[PROFILE_ID]
Result: www.example.com_20260607_143025_profile1.zip
Custom: [SITE_NAME]_[TYPE]_[DATE]_[RANDOM]
Result: My-Joomla-Site_full_20260607_a3f2b1.zip
Backup Directory
Default: [DEFAULT_DIR] (resolves to the folder set in the component's Default backup directory option — out of the box, a backups folder one level above the web root)
Outside web root: /home/user/backups/[HOST]/[YEAR]/[MONTH]
Result: /home/user/backups/www.example.com/2026/06/
Organised by profile: /var/backups/joomla/[PROFILE_NAME]
Result: /var/backups/joomla/Daily-Full/
Local Destination Path
Sibling of the web root, per host: [HOME]/backups/[HOST]
Result: /home/user/backups/www.example.com/
S3 Path Prefix
Per host: [HOST]/backups
Result (bucket key prefix): www.example.com/backups
Google Drive Subfolder Path
Per host and year: [HOST]/[YEAR]
Result (folders created under the configured Drive folder): www.example.com/2026
Notes
- Placeholders are resolved at backup time — the directory is created automatically if it doesn't exist
- The
[DEFAULT_DIR]placeholder reads the component's Default backup directory option, making profiles portable across different server paths - On CLI/cron there is no HTTP host, so set the site's live_site (with scheme) in Global Configuration to get the correct
[HOST]in archive names - Directory paths containing unresolved placeholders skip permission checks in the dashboard (they can't be validated until backup time)
- Sanitisation removes special characters, keeping only alphanumerics, dots, hyphens, and underscores