TemplinTech™ Cache Cleaner is a free Console Plugin for the Joomla!® CMS, designed for automated and controlled cleaning of the main Joomla! cache directory through a system cron job.
Current version: 1.0.2
Type: Joomla! Console Plugin
Compatibility: Joomla! 6.x
Minimum PHP version: PHP 8.3
Author: Dr. Yordan Balabanov
Website: https://templintech.com
License: GNU General Public License version 2 or later
Status: Stable
1. Purpose
TemplinTech™ Cache Cleaner automates the periodic cleaning of the main Joomla! /cache directory. The plugin is intended for Joomla! websites where the administrator wants the cache to be cleaned regularly through cron without having to log in manually to the administration panel.
The plugin uses the standard Joomla! Console infrastructure and the standard Joomla! CLI entry point:
cli/joomla.php
The main plugin command is:
templintech:cache-cleaner:run
TemplinTech™ Cache Cleaner does not use its own public PHP endpoint, remote execution URL, AJAX endpoint, or “secret URL”. Execution is performed by the server through PHP CLI.
2. Basic operating principle
TemplinTech™ Cache Cleaner has two separate settings that should not be confused:
- The cron interval determines how often the server starts the plugin.
- Cleanup Interval determines how often the cache should actually be cleaned.
The recommended configuration is for the cron job to start the plugin every 5 minutes, while the administrator defines the actual cleanup interval in Joomla!.
Cron: every 5 minutes
Cleanup Interval: 1 hour
In this case, cron starts the Joomla! command every 5 minutes. The plugin checks when the last successful cleanup took place. If one hour has not yet elapsed, it exits without deleting anything. If the interval has elapsed, the cache is cleaned.
2.1. Why this model is used
This model allows the cron job to be configured on the hosting account only once. The administrator can then change the actual cleanup interval directly from Joomla! without editing the cron configuration in the hosting control panel.
2.2. The important rule
Important: A cron job cannot provide more frequent execution than its own schedule allows.
For example:
Cron: once per day
Cleanup Interval: 1 hour
In this case, the cache will not be cleaned every hour. The plugin is started only once per day and therefore can clean the cache no more than once per day.
The practical rule is: the cron interval must be equal to or shorter than the selected Cleanup Interval.
3. What exactly the plugin cleans
TemplinTech™ Cache Cleaner works exclusively with the main Joomla! cache directory:
JPATH_ROOT/cache
This is typically the directory:
/cache
The plugin does not allow the administrator to define an arbitrary filesystem path.
Directories such as the following cannot be specified:
/administrator/images/media/tmp/home/public_html/- any other arbitrary directory.
Security: The restriction to the Joomla! root /cache directory is intentional. It reduces the risk of an incorrect or malicious filesystem target being specified.
4. What TemplinTech™ Cache Cleaner does not clean
The plugin is not a universal server cache manager and does not automatically clean:
- browser cache;
- CDN cache;
- Cloudflare cache;
- reverse proxy cache;
- Varnish;
- PHP OPcache;
- Redis;
- Memcached;
- hosting platform caches;
- other directories outside the Joomla! root
/cachedirectory.
If the website uses additional caching infrastructure, it must be managed separately.
5. System requirements
- Joomla!: 6.x
- PHP: 8.3 or later
- Environment: a hosting environment that allows Joomla! to be executed through PHP CLI
- Scheduler: cron or an equivalent server-side scheduler
5.1. PHP for the website and PHP for cron are not always the same
The PHP version used by the web server to load Joomla! may differ from the PHP version used by cron when executing the command:
php
If the website runs on PHP 8.4 while cron uses an older PHP version, the absolute path to the correct PHP CLI binary must be specified.
6. Installation
6.1. Installing the package
Install:
plg_console_templintechcachecleaner-1.0.2.zip
In the Joomla! administration panel, open:
System → Install → Extensions
Upload the ZIP file and complete the standard installation.
6.2. Enabling the plugin
After installation, open:
System → Manage → Plugins
Search for TemplinTech™ Cache Cleaner, open the plugin, select the desired Cleanup Interval, enable it, and save the settings.
7. Available intervals
- 5 minutes;
- 10 minutes;
- 15 minutes;
- 30 minutes;
- 1 hour;
- 2 hours;
- 4 hours;
- 6 hours;
- 12 hours;
- 1 day;
- 1 week.
The default value is 1 hour.
7.1. Protection against invalid values
The plugin accepts only predefined values. If an unsupported value is set due to a manual database change or damaged configuration, TemplinTech™ Cache Cleaner uses the safe default value:
3600 seconds / 1 hour
8. Cron information in the plugin settings
TemplinTech™ Cache Cleaner generates the required cron information directly in the Joomla! backend.
The administrator can see:
- Cache target
- CLI path
- Cron command
- Crontab line
- Status command
- Dry-run command
- Force command
8.1. Cache target
This is the directory that will be cleaned.
/home/customer/www/example.com/public_html/cache
This value is informational and must not be entered as a cron command.
8.2. CLI path
This is the absolute filesystem path to the standard Joomla! CLI entry point.
/home/customer/www/example.com/public_html/cli/joomla.php
8.3. Cron command
This is the command that should be placed in a field named, for example, Command, Command to Run, Befehl, Cron Command, or Task Command.
php '/home/customer/www/example.com/public_html/cli/joomla.php' templintech:cache-cleaner:run --quiet
8.4. Crontab line
This is the complete cron line, including both the schedule and the command.
*/5 * * * * php '/home/customer/www/example.com/public_html/cli/joomla.php' templintech:cache-cleaner:run --quiet >/dev/null 2>&1
Important: Do not place the complete Crontab Line in the “Command” field if the hosting panel provides separate fields for Minute, Hour, Day, Month, and Weekday.
9. Recommended cron configuration
When the hosting environment allows it, the recommended cron schedule is:
*/5 * * * *
This means: run the command every 5 minutes.
9.1. Hosting panels with separate cron fields
Minute: */5
Hour: *
Day: *
Month: *
Weekday: *
Command:
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
Important: Use the absolute filesystem path displayed by TemplinTech™ Cache Cleaner. Do not use a URL such as https://example.com/cli/joomla.php.
10. What to copy and what not to copy
10.1. If the hosting provider has separate schedule fields
Use the individual cron values and copy only the Cron Command into the Command field.
10.2. If the hosting provider accepts the full crontab line
Use the Crontab Line value displayed by the plugin directly.
10.3. Do not copy the example path from this documentation
Paths such as:
/home/user/public_html/cli/joomla.php
are examples only. Use the path displayed by TemplinTech™ Cache Cleaner in your Joomla! backend.
11. PHP CLI binary
TemplinTech™ Cache Cleaner generates a command beginning with:
php
On many hosting platforms, this is sufficient. On others, you must replace the initial php with the absolute PHP CLI binary.
For example:
/usr/local/bin/php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
12. First test before creating the cron job
12.1. Status
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --status
This command does not delete files.
12.2. Dry run
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force --dry-run
Dry run simulates the cleanup without actually deleting files or directories.
12.3. Force
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force
This command performs an immediate real cleanup regardless of the configured interval.
13. CLI options
13.1. Normal execution
templintech:cache-cleaner:run
The plugin checks the interval and cleans only when the time for the next cleanup has been reached.
13.2. --quiet
--quiet reduces unnecessary CLI output during automatic cron execution.
13.3. --status
--status displays the current status without deleting files.
13.4. --force
--force starts the cleanup immediately without waiting for the configured interval. Security checks remain active.
13.5. --dry-run
--dry-run simulates the cleanup without deleting files and without updating the last-run state.
14. First automatic execution
If the plugin has never been executed and no previous successful cleanup has been recorded, the first normal cron execution is considered due.
You do not need to wait for the entire selected Cleanup Interval after installation.
15. Files that are preserved
TemplinTech™ Cache Cleaner does not delete the Joomla! /cache directory itself.
The following files are preserved at the root level:
index.html.htaccessweb.config.gitignore.gitkeep.templintechcachecleaner.state.json.templintechcachecleaner.lock
16. State file
TemplinTech™ Cache Cleaner uses a local state file:
/cache/.templintechcachecleaner.state.json
It contains limited technical information about the last successful execution, such as the version, timestamp, number of removed files, number of removed directories, and approximate amount of freed space.
The state file does not contain user accounts, email addresses, IP addresses, cookies, passwords, database credentials, or visitor tracking information.
The maximum allowed state file size is 16384 bytes.
17. Lock file and concurrent execution
The plugin uses:
/cache/.templintechcachecleaner.lock
to prevent simultaneous execution by more than one cron process.
If one process is already performing cleanup, the second exits safely and does not begin a parallel cleanup.
17.1. Stale lock
If a cron process is interrupted unexpectedly and the lock file remains on disk, version 1.0.2 considers the lock stale after:
21600 seconds / 6 hours
18. Security model
TemplinTech™ Cache Cleaner performs filesystem operations and therefore uses a conservative security model.
Basic principle: if the plugin cannot confirm that the filesystem target is safe, the operation is stopped.
18.1. No user-defined filesystem target
The cleanup path cannot be supplied through GET, POST, URL, CLI parameter, an administrative text field, or an environment variable.
18.2. Joomla! /cache validation
Before cleanup, the plugin checks whether the directory exists, whether it is a real directory, whether it is not a symbolic link, and whether the resolved path matches the expected Joomla! root cache directory.
18.3. Symbolic links
If the Joomla! root /cache directory itself is a symbolic link, the plugin refuses to execute.
If a symbolic link is detected inside the cache tree, its target is not followed.
18.4. TOCTOU hardening
Version 1.0.2 includes additional checks against filesystem Time-of-check to time-of-use situations. Before critical operations, the parent path, filesystem object type, device, inode, and resolved location are checked again.
18.5. State file protection
State information is written through a temporary unique file and atomic rename instead of unsafe direct overwriting.
18.6. File permissions
Operational files are restricted to owner-only permissions 0600 where supported by the operating system.
18.7. No public cron URL
Security: Do not create a public PHP file or URL endpoint solely to work around a hosting scheduler limitation.
19. Privacy
TemplinTech™ Cache Cleaner does not use its own tracking mechanism and does not collect or send to TemplinTech IP addresses, browser fingerprints, analytics, user accounts, email addresses, visitor identifiers, or Joomla! cache content.
Runtime state is stored locally on the server.
The standard Joomla! Extension Update functionality may make a request to the official TemplinTech update endpoint to check for a new version.
20. Joomla! Update System
TemplinTech™ Cache Cleaner uses the standard Joomla! Update System for checking and distributing future versions.
Official update feed:
https://templintech.com/joomlaextensions/updates/templintechcachecleaner.xml
Official changelog:
https://templintech.com/joomlaextensions/updates/templintechcachecleaner-changelog.xml
Public page:
https://templintech.com/extensions/templintechcachecleaner
Release packages:
https://templintech.com/joomlaextensions/downloads/templintechcachecleaner/
21. Package integrity
TemplinTech update metadata may contain cryptographic checksums for the release package, including:
- SHA-256;
- SHA-384;
- SHA-512.
They are used to verify the integrity of the downloaded update package.
22. Joomla! 7
TemplinTech™ Cache Cleaner 1.0.2 is officially declared for Joomla! 6.x.
The architecture is built using the modern Joomla! extension model, including namespace, dependency injection, Joomla! Console, and Symfony Console infrastructure.
This does not constitute a declaration of official Joomla! 7 compatibility before an actual Joomla! 7 release version is available for compatibility testing.
23. Architecture
- Joomla! Console Plugin architecture;
- PSR-4 namespace;
- Joomla! dependency injection service provider;
- Joomla! Registry for plugin parameters;
- the standard Joomla!
cli/joomla.phpentry point; - Symfony Console command infrastructure;
- PHP attributes;
- strict PHP types.
Main namespace:
TemplinTech\Plugin\Console\TemplinTechCacheCleaner
Extension element: templintechcachecleaner
Plugin group: console
24. Supported languages
- Bulgarian —
bg-BG; - English —
en-GB; - German —
de-DE.
25. Performance
TemplinTech™ Cache Cleaner does not perform filesystem cleanup during a normal frontend visit to the Joomla! website. The cleanup process is started through Joomla! CLI by cron.
This means that a normal frontend page visit does not directly start the cleanup process.
26. Recommended production configuration
Cron: every 5 minutes
Cleanup Interval: 1 hour
This does not mean the cache is deleted every 5 minutes. Cron checks every 5 minutes, while the actual cleanup takes place approximately once per hour.
27. Shared hosting configuration
The following instructions are also intended for users with no cron experience.
Important: There is no universal cron interface for all hosting companies. Some providers use cPanel, others use their own control panel, and some shared hosting plans do not allow arbitrary CLI commands to be executed.
27.1. Main values
CLI Path — the absolute path to Joomla! cli/joomla.php.
Cron Command — the command without the time schedule.
Crontab Line — the schedule and the command in one line.
Cleanup Interval — how often TemplinTech™ Cache Cleaner should actually clean the cache.
27.2. The most common mistake
If the hosting interface provides separate fields for Minute, Hour, Day, Month, Weekday, and Command, do not place */5 * * * * in the Command field.
27.3. The second most common mistake
Do not use a URL to the Joomla! CLI.
Incorrect:
https://example.com/cli/joomla.php
Correct:
/home/account/example.com/public_html/cli/joomla.php
28. cPanel — universal configuration
Open:
cPanel → Advanced → Cron Jobs
Minute: */5
Hour: *
Day: *
Month: *
Weekday: *
Command:
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet >/dev/null 2>&1
29. Hostinger
Path: Websites → Dashboard → Cron Jobs
Type: Custom
Schedule:
*/5 * * * *
Command:
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
Hostinger uses UTC for cron schedules. For execution every 5 minutes, this has no practical impact.
30. SiteGround
Path: Site Tools → Devs → Cron Jobs
Set execution every 5 minutes and enter the “Cron Command” from TemplinTech™ Cache Cleaner.
If SiteGround displays a specific PHP CLI binary, use it instead of the initial php.
31. Bluehost
Path: Websites → Manage Site → Cron Jobs or cPanel → Advanced → Cron Jobs
Minute: */5
Hour: *
Day: *
Month: *
Weekday: *
Enter the Cron Command generated by the plugin in the Command field.
32. HostGator
Path: cPanel → Advanced → Cron Jobs
Use the following schedule:
*/5 * * * *
In Command, use a PHP 8.3+ CLI binary and the generated Joomla! CLI path.
33. DreamHost
DreamHost uses version-specific PHP CLI binaries.
Examples:
/usr/local/php83/bin/php/usr/local/php84/bin/php
Example command:
/usr/local/php84/bin/php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
34. GoDaddy Web Hosting with cPanel
Path: Web Hosting → Manage → cPanel Admin → Advanced → Cron Jobs
Example PHP binary:
/usr/local/bin/php
Example command:
/usr/local/bin/php -q '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
35. Namecheap Shared Hosting
Path: cPanel → Advanced → Cron Jobs
Namecheap Shared Hosting should not be configured with a cron interval shorter than 5 minutes.
Suitable schedule:
*/5 * * * *
36. InMotion Hosting
Path: cPanel → Cron Jobs
Use the schedule */5 * * * * and enter the Cron Command from TemplinTech™ Cache Cleaner.
37. GreenGeeks
Path: Manage → Dev Tools → Cron Jobs
Use the following schedule:
*/5 * * * *
Enter the Cron Command from the plugin in the command field.
38. FastComet
Path: cPanel → Cron Jobs
Minute: */5
Hour: *
Day: *
Month: *
Weekday: *
39. HostArmada
Path: cPanel → Advanced → Cron Jobs
Use the schedule */5 * * * * and the Cron Command from the plugin.
40. ScalaHosting
40.1. SPanel
Open Cron Jobs or Cron Jobs Manager.
Schedule:
*/5 * * * *
Enter the value from TemplinTech™ Cache Cleaner in Cron Command.
40.2. cPanel
If the account uses cPanel, follow the standard cPanel instructions.
41. Krystal Hosting
Path: cPanel → Advanced → Cron Jobs
Example PHP binary:
/usr/local/bin/php
Example:
/usr/local/bin/php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
42. hosting.com / former A2 Hosting accounts
Path: cPanel → Advanced → Cron Jobs
On some shared hosting environments, the minimum cron interval may be 15 minutes.
In that case, use:
*/15 * * * *
and select a Cleanup Interval of 15 minutes or longer.
43. Hetzner Web Hosting / konsoleH
Path: Services / Einstellungen → Cronjob Manager
Use a PHP interpreter that matches the PHP version used by Joomla!.
If the interpreter is selected separately, use the Joomla! CLI path and arguments in the command field:
'/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
For the schedule, use the following when the plan allows it:
*/5 * * * *
44. webgo
Path: Vertragsübersicht → Cronjobs
For minute-level cron execution, using Webspace Admin may be necessary.
Minuten: */5
Stunden: *
Tag: *
Monat: *
Wochentag: *
With a version-specific PHP CLI binary, the command may look like this, for example:
/usr/bin/php83 '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
45. mittwald
In an environment that allows separate interpreter and arguments:
Interpreter: PHP
File: /REAL/PATH/cli/joomla.php
Arguments: templintech:cache-cleaner:run --quiet
Schedule: */5 * * * *
46. STRATO
46.1. STRATO Legacy hosting platform
Legacy packages with Cron Jobs may allow server-side PHP execution.
Example basis:
/bin/php -f '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
46.2. STRATO New Hosting Platform
Important: If the specific STRATO hosting plan does not provide Cron Jobs or a CLI scheduler, the automatic mode of TemplinTech™ Cache Cleaner cannot be used as intended.
Do not create a public PHP endpoint as a workaround.
47. IONOS
With IONOS, you should verify whether the specific hosting product provides actual PHP CLI cron execution.
If the Cron Job Manager accepts only a URL, it is not directly compatible with the CLI-only architecture of TemplinTech™ Cache Cleaner.
Security: Do not create a public cache-cleaner.php file merely to turn the CLI plugin into a URL cron task.
48. OVHcloud Web Hosting
The standard OVHcloud Web Hosting scheduler may have limitations both in the minimum interval and in the way arguments can be passed to a PHP script.
If the scheduler allows execution only once per hour, select a Cleanup Interval of 1 hour or longer.
Executing only:
cli/joomla.php
is not sufficient. The scheduler must also be able to pass:
templintech:cache-cleaner:run
49. Comparison of hosting limitations
Hostinger: suitable with a Custom cron command.
SiteGround: suitable through Site Tools Cron Jobs.
Bluehost: suitable when PHP 8.3+ CLI cron is available.
HostGator: suitable when a PHP 8.3+ CLI binary is available.
DreamHost: suitable; version-specific PHP CLI binaries are available.
GoDaddy cPanel: suitable.
Namecheap: suitable when the minimum cron interval is respected.
InMotion Hosting: suitable through cPanel.
GreenGeeks: suitable.
FastComet: suitable.
HostArmada: suitable.
ScalaHosting: suitable with SPanel/cPanel and CLI cron.
Krystal: suitable through cPanel.
hosting.com: suitable, but there may be a minimum interval of 15 minutes.
Hetzner: suitable through Cronjob Manager.
webgo: suitable when an appropriate cron frequency is available.
mittwald: suitable with a PHP interpreter cron job.
STRATO: depends on the specific hosting platform and plan.
IONOS: a URL-only scheduler is not directly compatible.
OVHcloud: support for full CLI arguments must be verified.
50. If your hosting provider is not listed
Look for a menu named:
- Cron Jobs;
- Scheduled Tasks;
- Scheduler;
- Task Scheduler;
- Geplante Aufgaben;
- Cronjobs.
Then check whether the interface allows execution of a command such as:
php /path/to/script.php argument
If the scheduler accepts only a URL, it is not sufficient for directly starting TemplinTech™ Cache Cleaner.
51. If your hosting provider does not allow 5-minute cron jobs
If the shortest allowed interval is 15 minutes:
Cron: every 15 minutes
Cleanup Interval: 15 minutes or longer
If the shortest allowed interval is 1 hour:
Cron: once per hour
Cleanup Interval: 1 hour or longer
52. Checking the PHP CLI version
If you have SSH or Terminal access:
php -v
If you use an absolute binary:
/usr/local/bin/php -v
TemplinTech™ Cache Cleaner 1.0.2 requires PHP 8.3 or later.
53. The command works manually but not through cron
The most common reasons are:
- cron uses a different PHP binary;
- cron uses a different PHP version;
- the PATH environment is different;
- the filesystem user is different;
- the absolute Joomla! path is incorrect;
- PHP CLI does not have write permissions for
/cache; - the hosting provider restricts CLI execution;
- the cron command contains shell syntax that the specific panel does not accept.
54. “php: command not found” error
If you receive:
php: command not found
use the absolute PHP CLI binary provided by the hosting provider.
55. Joomla! does not recognize the command
If Joomla! does not recognize:
templintech:cache-cleaner:run
check whether the plugin is installed and enabled, whether you are using the correct Joomla! cli/joomla.php, and whether the PHP CLI version is compatible.
56. Permission error
If the PHP CLI user does not have the required permissions for Joomla! /cache, do not automatically set:
0777 is not a recommended universal solution.
Check the owner, group, PHP CLI user, and the correct filesystem permissions.
57. “Another process is already running”
The message:
Skipped: another TemplinTech Cache Cleaner process is already running.
usually does not indicate a defect. Another process already holds the cleanup lock.
58. “Cleanup interval has not elapsed”
This is normal behavior. Cron has started the plugin, but the time for the next actual cleanup has not yet been reached.
59. The cache directory does not exist
If the Joomla! root /cache directory does not currently exist, the plugin has nothing to clean and this is not automatically treated as a critical error.
60. Cron email notifications
Many hosting panels can send an email after each cron execution. This is useful during initial testing.
After successful testing, you can use:
--quiet
and, with a suitable shell:
>/dev/null 2>&1
61. Recommended procedure for beginners
Step 1: Install TemplinTech™ Cache Cleaner.
Step 2: Enable the plugin.
Step 3: Leave Cleanup Interval set to 1 hour.
Step 4: Find Cron Setup in the plugin settings.
Step 5: Copy the Cron Command.
Step 6: Open Cron Jobs / Scheduled Tasks in the hosting control panel.
Step 7: Set cron to every 5 minutes if the hosting plan allows it.
Step 8: Paste the Cron Command into the Command field.
Step 9: Save the cron job.
Step 10: Check the result using the Status Command.
62. Backup before first use
Cache files are temporary by nature, but before deploying a new extension in a production environment, it is advisable to have a current backup.
First use:
--force --dry-run
before the actual:
--force
63. Uninstallation
TemplinTech™ Cache Cleaner can be uninstalled through the standard Joomla! Extension Manager.
Important: After uninstalling the plugin, you must manually remove the corresponding cron job from the hosting control panel. Joomla! does not manage cron tasks on the external hosting provider.
63.1. Runtime files
After final uninstallation, the following files may remain:
/cache/.templintechcachecleaner.state.json/cache/.templintechcachecleaner.lock
They can be removed manually after the plugin has been permanently uninstalled.
64. Upgrade
It is not necessary to uninstall the previous version before an update.
TemplinTech™ Cache Cleaner uses the Joomla! upgrade mechanism and Joomla! Update System. During a normal update, the existing configuration is preserved.
65. Changelog for version 1.0.2
Security
- additional hardened filesystem traversal;
- protection against symbolic-link substitution;
- additional TOCTOU protection;
- atomic exclusive lock creation;
- filesystem identity validation;
- state path protection;
- restricted operational file permissions where supported.
Configuration
- whitelist of permitted Cleanup Interval values;
- final TemplinTech Joomla! Update System endpoints.
66. Frequently asked questions
Does cron have to run every 5 minutes?
No. This is the recommended configuration when the hosting provider allows it.
If the Cleanup Interval is 1 hour, why should cron run every 5 minutes?
So that the plugin can manage the actual interval itself and changing it does not require editing the cron configuration.
Will the cache be cleaned every 5 minutes?
No, unless you explicitly select a Cleanup Interval of 5 minutes.
Can I specify another directory?
No. Version 1.0.2 intentionally works only with the Joomla! root /cache directory.
Does it delete the /cache directory itself?
No.
Does it delete the root index.html?
No.
Does it follow symbolic links?
No.
Is there a public URL for execution?
No.
Does it send cache content to TemplinTech?
No.
Is a download key required?
Not for the current free distribution.
Can it work without cron?
The CLI commands can be executed manually, but automatic periodic cleanup requires cron or another suitable server-side scheduler.
Can an external web cron service start it?
Not directly. The plugin intentionally does not provide a public HTTP endpoint.
What if the hosting provider allows cron only once per hour?
Set the Cleanup Interval to 1 hour or longer.
What if the hosting provider allows cron no more frequently than every 15 minutes?
Use cron every 15 minutes and a Cleanup Interval of 15 minutes or longer.
67. Quick reference
Status
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --status
Dry run
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force --dry-run
Immediate cleanup
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force
Normal cron execution
php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet
Recommended crontab
*/5 * * * * php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet >/dev/null 2>&1
68. Support information
If you experience a technical problem, it is useful to have the following information available:
- Joomla! version;
- TemplinTech™ Cache Cleaner version;
- website PHP version;
- PHP CLI version;
- hosting provider;
- hosting plan;
- cron command used;
- selected Cleanup Interval;
- Status Command result;
- exact CLI error output.
Do not publish publicly: hosting passwords, Joomla! administrator passwords, database passwords, SSH private keys, API keys, or other credentials.
69. License and authorship
TemplinTech™ Cache Cleaner is distributed under:
GNU General Public License version 2 or later.
Free distribution of the software does not remove copyright protection for the original code.
Author: Dr. Yordan Balabanov
Copyright: Copyright (C) 2026 Dr. Yordan Balabanov.
Website: https://templintech.com
70. TemplinTech™ Cache Cleaner
TemplinTech™ Cache Cleaner is a free Joomla! Console Plugin for controlled and automated cleaning of the main Joomla! cache directory through a server-side cron job.
The plugin is developed with a focus on clear configuration, limited filesystem scope, CLI-only execution, safe concurrent execution, filesystem hardening, and modern Joomla! extension architecture.
Developed by Dr. Yordan Balabanov.
Copyright (C) 2026 Dr. Yordan Balabanov.
Licensed under GNU General Public License version 2 or later.
71. Trademarks
TemplinTech™ and TemplinTech™ Cache Cleaner are used as product and trade designations of Dr. Yordan Balabanov.
Joomla!® is a registered trademark of Open Source Matters, Inc. in the United States and other countries.
TemplinTech™ Cache Cleaner is an independently developed extension and is not part of, supported by, or endorsed by Open Source Matters, Inc. or the Joomla! Project.
The use of the Joomla! name in this documentation is descriptive and indicates the compatibility and intended purpose of the extension.