TemplinTech Cache Cleaner за CMS Joomla

TemplinTech Cache Cleaner е безплатен Joomla Console Plugin за автоматизирано и контролирано почистване на основната Joomla cache директория чрез системен cron job.

Текуща версия: 1.0.2
Тип: Joomla Console Plugin
Съвместимост: Joomla 6.x
Минимална PHP версия: PHP 8.3
Автор: Dr. Yordan Balabanov
Уебсайт: https://templintech.com
Лиценз: GNU General Public License version 2 or later
Статус: Stable

1. Предназначение

TemplinTech Cache Cleaner автоматизира периодичното почистване на основната Joomla директория /cache. Плъгинът е предназначен за Joomla сайтове, при които администраторът желае кешът да бъде почистван регулярно чрез cron, без необходимост от ръчно влизане в административния панел.

Плъгинът използва стандартната Joomla Console инфраструктура и стандартния Joomla CLI entry point:

cli/joomla.php

Основната команда на плъгина е:

templintech:cache-cleaner:run

TemplinTech Cache Cleaner не използва собствен публичен PHP endpoint, URL за отдалечено стартиране, AJAX endpoint или „secret URL“. Изпълнението се извършва от сървъра чрез PHP CLI.

2. Основен принцип на работа

При TemplinTech Cache Cleaner има две отделни настройки, които не трябва да се объркват:

  • Cron интервалът определя колко често сървърът стартира плъгина.
  • Cleanup Interval определя колко често кешът действително трябва да бъде почистван.

Препоръчителната конфигурация е cron job да стартира плъгина на всеки 5 минути, а администраторът да определя реалния интервал за почистване в Joomla.

Cron: на всеки 5 минути
Cleanup Interval: 1 час

В този случай cron стартира Joomla командата на всеки 5 минути. Плъгинът проверява кога е било последното успешно почистване. Ако един час все още не е изминал, той приключва без да изтрива нищо. Ако интервалът е изтекъл, кешът се почиства.

2.1. Защо този модел е използван

Този модел позволява cron job да бъде конфигуриран на хостинга само веднъж. След това администраторът може да променя реалния интервал за почистване директно от Joomla, без да редактира cron настройката в hosting control panel.

2.2. Важното правило

Важно: Cron job не може да осигури по-често изпълнение, отколкото позволява собственият му график.

Например:

Cron: веднъж дневно
Cleanup Interval: 1 час

В този случай кешът няма да бъде почистван на всеки час. Плъгинът се стартира само веднъж дневно и следователно може да почисти кеша максимум веднъж дневно.

Практическото правило е: cron интервалът трябва да бъде равен или по-кратък от избрания Cleanup Interval.

3. Какво точно почиства плъгинът

TemplinTech Cache Cleaner работи единствено с основната Joomla cache директория:

JPATH_ROOT/cache

Обичайно това е директорията:

/cache

Плъгинът не позволява на администратора да задава произволен filesystem path.

Не могат да бъдат задавани директории като:

  • /administrator
  • /images
  • /media
  • /tmp
  • /home
  • /public_html
  • /
  • друга произволна директория.

Security: Ограничението до Joomla root /cache е умишлено. То намалява риска от погрешно или злонамерено задаване на filesystem target.

4. Какво не почиства TemplinTech Cache Cleaner

Плъгинът не е универсален server cache manager и не почиства автоматично:

  • browser cache;
  • CDN cache;
  • Cloudflare cache;
  • reverse proxy cache;
  • Varnish;
  • PHP OPcache;
  • Redis;
  • Memcached;
  • кешове на hosting platform;
  • други директории извън Joomla root /cache.

Ако сайтът използва допълнителна caching инфраструктура, тя трябва да бъде управлявана отделно.

5. Системни изисквания

  • Joomla: 6.x
  • PHP: 8.3 или по-нова версия
  • Среда: hosting среда, която позволява изпълнение на Joomla чрез PHP CLI
  • Scheduler: cron или еквивалентен server-side scheduler

5.1. PHP за сайта и PHP за cron не винаги са едно и също

PHP версията, използвана от уеб сървъра за зареждане на Joomla, може да бъде различна от PHP версията, която cron използва при изпълнение на командата:

php

Ако сайтът работи с PHP 8.4, а cron използва по-стара PHP версия, трябва да бъде зададен абсолютният път до правилния PHP CLI binary.

6. Инсталация

6.1. Инсталиране на пакета

Инсталирайте:

plg_console_templintechcachecleaner-1.0.2.zip

В Joomla администрацията отворете:

System → Install → Extensions

Качете ZIP файла и завършете стандартната инсталация.

6.2. Активиране на плъгина

След инсталацията отворете:

System → Manage → Plugins

Потърсете TemplinTech Cache Cleaner, отворете плъгина, изберете желания Cleanup Interval, активирайте го и запазете настройките.

7. Налични интервали

  • 5 минути;
  • 10 минути;
  • 15 минути;
  • 30 минути;
  • 1 час;
  • 2 часа;
  • 4 часа;
  • 6 часа;
  • 12 часа;
  • 1 ден;
  • 1 седмица.

Стойността по подразбиране е 1 час.

7.1. Защита срещу невалидна стойност

Плъгинът приема само предварително дефинираните стойности. Ако поради ръчна промяна на базата данни или повредена конфигурация бъде зададена неподдържана стойност, TemplinTech Cache Cleaner използва безопасната стойност по подразбиране:

3600 секунди / 1 час

8. Cron информацията в настройките на плъгина

TemplinTech Cache Cleaner генерира необходимата cron информация директно в Joomla backend.

Администраторът вижда:

  • Cache target
  • CLI path
  • Cron command
  • Crontab line
  • Status command
  • Dry-run command
  • Force command

8.1. Cache target

Това е директорията, която ще бъде почиствана.

/home/customer/www/example.com/public_html/cache

Тази стойност е информационна и не трябва да се въвежда като cron команда.

8.2. CLI path

Това е абсолютният filesystem path до стандартния Joomla CLI entry point.

/home/customer/www/example.com/public_html/cli/joomla.php

8.3. Cron command

Това е командата, която трябва да бъде поставена в поле с име например Command, Command to Run, Befehl, Cron Command или Task Command.

php '/home/customer/www/example.com/public_html/cli/joomla.php' templintech:cache-cleaner:run --quiet

8.4. Crontab line

Това е целият cron ред, включващ едновременно графика и командата.

*/5 * * * * php '/home/customer/www/example.com/public_html/cli/joomla.php' templintech:cache-cleaner:run --quiet >/dev/null 2>&1

Важно: Не поставяйте целия Crontab Line в поле „Command“, ако hosting панелът има отделни полета за Minute, Hour, Day, Month и Weekday.

9. Препоръчителна cron конфигурация

Когато hosting средата позволява, препоръчителният cron schedule е:

*/5 * * * *

Това означава: стартирай командата на всеки 5 минути.

9.1. При hosting панел с отделни cron полета

Minute: */5
Hour: *
Day: *
Month: *
Weekday: *

Command:

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

Важно: Използвайте абсолютния filesystem path, показан от TemplinTech Cache Cleaner. Не използвайте URL адрес като https://example.com/cli/joomla.php.

10. Какво да копирате и какво да не копирате

10.1. Ако хостингът има отделни полета за времето

Използвайте отделните cron стойности и копирайте само Cron Command в полето Command.

10.2. Ако хостингът приема целия crontab ред

Използвайте директно стойността Crontab Line, показана в плъгина.

10.3. Не копирайте примерния path от тази документация

Пътища като:

/home/user/public_html/cli/joomla.php

са само примери. Използвайте пътя, който TemplinTech Cache Cleaner показва във вашия Joomla backend.

11. PHP CLI binary

TemplinTech Cache Cleaner генерира команда, започваща с:

php

При много хостинги това е достатъчно. При други трябва да замените началното php с абсолютния PHP CLI binary.

Например:

/usr/local/bin/php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

12. Първи тест преди създаване на cron

12.1. Status

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --status

Тази команда не изтрива файлове.

12.2. Dry run

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force --dry-run

Dry run симулира почистването, без действително да изтрива файлове или директории.

12.3. Force

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force

Тази команда извършва незабавно реално почистване независимо от зададения интервал.

13. CLI опции

13.1. Нормално изпълнение

templintech:cache-cleaner:run

Плъгинът проверява интервала и почиства само ако е настъпило времето за следващо почистване.

13.2. --quiet

--quiet намалява ненужния CLI output при автоматично cron изпълнение.

13.3. --status

--status показва текущото състояние, без да изтрива файлове.

13.4. --force

--force стартира почистването веднага, без да изчаква конфигурирания интервал. Security проверките остават активни.

13.5. --dry-run

--dry-run симулира почистването, без да изтрива файлове и без да актуализира last-run state.

14. Първо автоматично изпълнение

Ако плъгинът никога не е изпълняван и няма записано последно успешно почистване, първото нормално cron стартиране се счита за дължимо.

Не е необходимо да изчаквате целия избран Cleanup Interval след инсталацията.

15. Файлове, които се запазват

TemplinTech Cache Cleaner не изтрива самата Joomla /cache директория.

В root нивото се запазват:

  • index.html
  • .htaccess
  • web.config
  • .gitignore
  • .gitkeep
  • .templintechcachecleaner.state.json
  • .templintechcachecleaner.lock

16. State файл

TemplinTech Cache Cleaner използва локален state файл:

/cache/.templintechcachecleaner.state.json

Той съдържа ограничена техническа информация за последното успешно изпълнение, например версия, timestamp, брой премахнати файлове, брой премахнати директории и приблизително освободено пространство.

State файлът не съдържа потребителски акаунти, имейл адреси, IP адреси, cookies, пароли, database credentials или visitor tracking информация.

Максималният допустим размер на state файла е 16384 bytes.

17. Lock файл и паралелно изпълнение

Плъгинът използва:

/cache/.templintechcachecleaner.lock

за предотвратяване на едновременно изпълнение от повече от един cron процес.

Ако един процес вече извършва cleanup, вторият приключва безопасно и не започва паралелно почистване.

17.1. Stale lock

Ако cron процес бъде прекъснат аварийно и lock файл остане на диска, версия 1.0.2 приема lock-а за остарял след:

21600 секунди / 6 часа

18. Security модел

TemplinTech Cache Cleaner извършва операции върху filesystem и затова използва консервативен security модел.

Основен принцип: ако плъгинът не може да потвърди, че filesystem target-ът е безопасен, операцията се прекратява.

18.1. Няма потребителски задаван filesystem target

Пътят за почистване не може да бъде подаден чрез GET, POST, URL, CLI parameter, административно текстово поле или environment variable.

18.2. Проверка на Joomla /cache

Преди почистване плъгинът проверява дали директорията съществува, дали е реална директория, дали не е symbolic link и дали resolved path съвпада с очакваната Joomla root cache директория.

18.3. Symbolic links

Ако самата Joomla root /cache директория е symbolic link, плъгинът отказва изпълнение.

Ако symbolic link бъде открит вътре в cache tree, неговият target не се следва.

18.4. TOCTOU hardening

Версия 1.0.2 включва допълнителни проверки срещу filesystem Time-of-check to time-of-use ситуации. Преди критични операции се проверяват отново parent path, filesystem object type, device, inode и resolved location.

18.5. Защита на state файла

State информацията се записва чрез временен уникален файл и atomic rename вместо чрез небезопасно директно презаписване.

18.6. File permissions

Operational файловете се ограничават до owner-only permissions 0600, когато операционната система го поддържа.

18.7. Няма публичен cron URL

Security: Не създавайте публичен PHP файл или URL endpoint само за да заобиколите ограничение на hosting scheduler.

19. Privacy

TemplinTech Cache Cleaner не използва собствен tracking механизъм и не събира или изпраща към TemplinTech IP адреси, browser fingerprints, analytics, потребителски акаунти, имейл адреси, visitor identifiers или съдържание на Joomla кеша.

Runtime state се съхранява локално на сървъра.

Стандартната Joomla Extension Update функционалност може да осъществява заявка към официалния TemplinTech update endpoint за проверка за нова версия.

20. Joomla Update System

Официален update feed:

https://templintech.com/joomlaextensions/updates/templintechcachecleaner.xml

Официален changelog:

https://templintech.com/joomlaextensions/updates/templintechcachecleaner-changelog.xml

Публична страница:

https://templintech.com/extensions/templintechcachecleaner

Release packages:

https://templintech.com/joomlaextensions/downloads/templintechcachecleaner/

21. Package integrity

TemplinTech update metadata може да съдържа криптографски checksums за release пакета, включително SHA-256, SHA-384 и SHA-512.

Те служат за проверка на целостта на изтегления update package.

22. Joomla 7

TemplinTech Cache Cleaner 1.0.2 е официално деклариран за Joomla 6.x.

Архитектурата е изградена със съвременния Joomla extension модел, включително namespace, dependency injection, Joomla Console и Symfony Console инфраструктура.

Това не представлява декларация за официална Joomla 7 съвместимост преди реална Joomla 7 release версия да бъде налична за compatibility testing.

23. Архитектура

  • Joomla Console Plugin architecture;
  • PSR-4 namespace;
  • Joomla dependency injection service provider;
  • Joomla Registry за plugin parameters;
  • стандартния Joomla cli/joomla.php entry point;
  • Symfony Console command infrastructure;
  • PHP attributes;
  • strict PHP types.

Основен namespace:

TemplinTech\Plugin\Console\TemplinTechCacheCleaner

Extension element: templintechcachecleaner
Plugin group: console

24. Поддържани езици

  • български — bg-BG;
  • английски — en-GB;
  • немски — de-DE.

25. Производителност

TemplinTech Cache Cleaner не извършва filesystem cleanup при нормално frontend посещение на Joomla сайта. Cleanup процесът се стартира чрез Joomla CLI от cron.

26. Препоръчителна production конфигурация

Cron: на всеки 5 минути
Cleanup Interval: 1 час

Това не означава изтриване на cache на всеки 5 минути. Cron проверява на всеки 5 минути, а реалното почистване е приблизително веднъж на час.

27. Настройване при shared hosting

Следващите инструкции са предназначени и за потребители без опит с cron.

Важно: Няма универсален cron интерфейс за всички hosting компании. При някои доставчици има cPanel, при други собствен панел, а при трети shared hosting пакетите не позволяват изпълнение на произволни CLI команди.

27.1. Основните стойности

CLI Path — абсолютният път до Joomla cli/joomla.php.
Cron Command — командата без времевия график.
Crontab Line — графикът и командата в един ред.
Cleanup Interval — колко често TemplinTech Cache Cleaner действително трябва да почиства кеша.

27.2. Най-честата грешка

Ако hosting интерфейсът има отделни полета Minute, Hour, Day, Month, Weekday и Command, не поставяйте */5 * * * * в полето Command.

27.3. Втората най-честа грешка

Не използвайте URL адрес до Joomla CLI.

Неправилно:

https://example.com/cli/joomla.php

Правилно:

/home/account/example.com/public_html/cli/joomla.php

28. cPanel — универсална настройка

Отворете:

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

Път: Websites → Dashboard → Cron Jobs

Type: Custom

Schedule:

*/5 * * * *

Command:

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

Hostinger използва UTC за cron schedule. При изпълнение на всеки 5 минути това няма практическо значение.

30. SiteGround

Път: Site Tools → Devs → Cron Jobs

Задайте изпълнение на всеки 5 минути и поставете „Cron Command“ от TemplinTech Cache Cleaner.

Ако SiteGround показва конкретен PHP CLI binary, използвайте него вместо началното php.

31. Bluehost

Път: Websites → Manage Site → Cron Jobs или cPanel → Advanced → Cron Jobs

Minute: */5
Hour: *
Day: *
Month: *
Weekday: *

В Command поставете генерирания от плъгина Cron Command.

32. HostGator

Път: cPanel → Advanced → Cron Jobs

Използвайте schedule:

*/5 * * * *

В Command използвайте PHP 8.3+ CLI binary и генерирания Joomla CLI path.

33. DreamHost

DreamHost използва version-specific PHP CLI binaries.

Примери:

/usr/local/php83/bin/php
/usr/local/php84/bin/php

Примерна команда:

/usr/local/php84/bin/php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

34. GoDaddy Web Hosting с cPanel

Път: Web Hosting → Manage → cPanel Admin → Advanced → Cron Jobs

Примерен PHP binary:

/usr/local/bin/php

Примерна команда:

/usr/local/bin/php -q '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

35. Namecheap Shared Hosting

Път: cPanel → Advanced → Cron Jobs

Namecheap Shared Hosting не трябва да бъде конфигуриран с cron интервал по-кратък от 5 минути.

Подходящ schedule:

*/5 * * * *

36. InMotion Hosting

Път: cPanel → Cron Jobs

Използвайте schedule */5 * * * * и поставете Cron Command от TemplinTech Cache Cleaner.

37. GreenGeeks

Път: Manage → Dev Tools → Cron Jobs

Използвайте schedule:

*/5 * * * *

В command полето поставете Cron Command от плъгина.

38. FastComet

Път: cPanel → Cron Jobs

Minute: */5
Hour: *
Day: *
Month: *
Weekday: *

39. HostArmada

Път: cPanel → Advanced → Cron Jobs

Използвайте schedule */5 * * * * и Cron Command от плъгина.

40. ScalaHosting

40.1. SPanel

Отворете Cron Jobs или Cron Jobs Manager.

Schedule:

*/5 * * * *

В Cron Command поставете стойността от TemplinTech Cache Cleaner.

40.2. cPanel

Ако акаунтът използва cPanel, следвайте стандартните cPanel инструкции.

41. Krystal Hosting

Път: cPanel → Advanced → Cron Jobs

Примерен PHP binary:

/usr/local/bin/php

Пример:

/usr/local/bin/php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

42. hosting.com / бивши A2 Hosting акаунти

Път: cPanel → Advanced → Cron Jobs

При част от shared hosting средите минималният cron интервал може да бъде 15 минути.

В такъв случай използвайте:

*/15 * * * *

и изберете Cleanup Interval 15 минути или повече.

43. Hetzner Web Hosting / konsoleH

Път: Services / Einstellungen → Cronjob Manager

Използвайте PHP interpreter, който отговаря на PHP версията на Joomla.

Ако interpreter се избира отделно, в command полето използвайте Joomla CLI path и аргументите:

'/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

За schedule използвайте, когато планът позволява:

*/5 * * * *

44. webgo

Път: Vertragsübersicht → Cronjobs

За minute-level cron може да е необходимо използване на Webspace Admin.

Minuten: */5
Stunden: *
Tag: *
Monat: *
Wochentag: *

При version-specific PHP CLI binary командата може да изглежда например така:

/usr/bin/php83 '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

45. mittwald

При среда, която позволява отделен interpreter и arguments:

Interpreter: PHP
Файл: /REAL/PATH/cli/joomla.php
Arguments: templintech:cache-cleaner:run --quiet
Schedule: */5 * * * *

46. STRATO

46.1. STRATO Legacy hosting platform

При legacy пакети с Cron Jobs може да се използва server-side PHP execution.

Примерна основа:

/bin/php -f '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

46.2. STRATO New Hosting Platform

Важно: Ако конкретният STRATO hosting plan не предоставя Cron Jobs или CLI scheduler, автоматичният режим на TemplinTech Cache Cleaner не може да бъде използван по предназначения начин.

Не създавайте публичен PHP endpoint като заобиколно решение.

47. IONOS

При IONOS трябва да се провери дали конкретният hosting продукт предоставя реално PHP CLI cron изпълнение.

Ако Cron Job Manager приема само URL адрес, той не е директно съвместим с CLI-only архитектурата на TemplinTech Cache Cleaner.

Security: Не създавайте публичен cache-cleaner.php само за да превърнете CLI плъгина в URL cron задача.

48. OVHcloud Web Hosting

При стандартния OVHcloud Web Hosting scheduler може да има ограничения както в минималния интервал, така и в начина на подаване на аргументи към PHP script.

Ако scheduler позволява изпълнение само веднъж на час, изберете Cleanup Interval 1 час или повече.

Самото изпълнение на:

cli/joomla.php

не е достатъчно. Scheduler-ът трябва да може да подаде и:

templintech:cache-cleaner:run

49. Сравнение на hosting ограниченията

Hostinger: подходящ при Custom cron command.
SiteGround: подходящ чрез Site Tools Cron Jobs.
Bluehost: подходящ при наличен PHP 8.3+ CLI cron.
HostGator: подходящ при наличен PHP 8.3+ CLI binary.
DreamHost: подходящ; има version-specific PHP CLI binaries.
GoDaddy cPanel: подходящ.
Namecheap: подходящ при спазване на минималния cron interval.
InMotion Hosting: подходящ чрез cPanel.
GreenGeeks: подходящ.
FastComet: подходящ.
HostArmada: подходящ.
ScalaHosting: подходящ при SPanel/cPanel с CLI cron.
Krystal: подходящ чрез cPanel.
hosting.com: подходящ, но може да има минимален интервал 15 минути.
Hetzner: подходящ чрез Cronjob Manager.
webgo: подходящ при налична подходяща cron честота.
mittwald: подходящ при PHP interpreter cron job.
STRATO: зависи от конкретната hosting платформа и plan.
IONOS: URL-only scheduler не е директно съвместим.
OVHcloud: трябва да се провери възможност за пълни CLI arguments.

50. Ако вашият хостинг не е в списъка

Потърсете меню с име:

  • Cron Jobs;
  • Scheduled Tasks;
  • Scheduler;
  • Task Scheduler;
  • Geplante Aufgaben;
  • Cronjobs.

След това проверете дали интерфейсът позволява изпълнение на команда от типа:

php /path/to/script.php argument

Ако scheduler-ът приема само URL адрес, той не е достатъчен за директно стартиране на TemplinTech Cache Cleaner.

51. Ако хостингът не позволява 5-минутен cron

Ако най-краткият разрешен интервал е 15 минути:

Cron: на всеки 15 минути
Cleanup Interval: 15 минути или повече

Ако най-краткият разрешен интервал е 1 час:

Cron: веднъж на час
Cleanup Interval: 1 час или повече

52. Проверка на PHP CLI версията

Ако имате SSH или Terminal:

php -v

Ако използвате абсолютен binary:

/usr/local/bin/php -v

TemplinTech Cache Cleaner 1.0.2 изисква PHP 8.3 или по-нова версия.

53. Командата работи ръчно, но не работи през cron

Най-честите причини са:

  • cron използва различен PHP binary;
  • cron използва различна PHP версия;
  • PATH environment е различен;
  • filesystem user е различен;
  • абсолютният Joomla path е неправилен;
  • PHP CLI няма права за запис в /cache;
  • hosting provider ограничава CLI execution;
  • cron command съдържа shell syntax, която конкретният панел не приема.

54. Грешка „php: command not found“

Ако получите:

php: command not found

използвайте абсолютния PHP CLI binary, предоставен от hosting provider.

55. Joomla не разпознава командата

Ако Joomla не разпознава:

templintech:cache-cleaner:run

проверете дали плъгинът е инсталиран, активиран, дали използвате правилния Joomla cli/joomla.php и дали PHP CLI версията е съвместима.

56. Permission error

Ако PHP CLI user няма необходимите права върху Joomla /cache, не задавайте автоматично:

0777 не е препоръчително универсално решение.

Проверете owner, group, PHP CLI user и правилните filesystem permissions.

57. „Another process is already running“

Съобщението:

Skipped: another TemplinTech Cache Cleaner process is already running.

обикновено не означава дефект. Друг process вече държи cleanup lock.

58. „Cleanup interval has not elapsed“

Това е нормално поведение. Cron е стартирал плъгина, но все още не е настъпило времето за следващото реално почистване.

59. Cache директорията не съществува

Ако Joomla root /cache в момента не съществува, плъгинът няма какво да почисти и това не се третира автоматично като критична грешка.

60. Cron email известия

Много hosting панели могат да изпращат email при всяко cron изпълнение. Това е полезно по време на първоначалното тестване.

След успешен тест можете да използвате:

--quiet

и при подходящ shell:

>/dev/null 2>&1

61. Препоръчителна процедура за начинаещи

Стъпка 1: Инсталирайте TemplinTech Cache Cleaner.

Стъпка 2: Активирайте плъгина.

Стъпка 3: Оставете Cleanup Interval на 1 час.

Стъпка 4: Намерете Cron Setup в настройките.

Стъпка 5: Копирайте Cron Command.

Стъпка 6: Отворете Cron Jobs / Scheduled Tasks в hosting control panel.

Стъпка 7: Задайте cron на всеки 5 минути, ако hosting plan го позволява.

Стъпка 8: Поставете Cron Command в полето Command.

Стъпка 9: Запазете cron job-а.

Стъпка 10: Проверете резултата чрез Status Command.

62. Backup преди първо използване

Cache файловете по своя характер са временни, но преди внедряване на нов extension в production среда е разумно да имате актуален backup.

Използвайте първо:

--force --dry-run

преди реалното:

--force

63. Деинсталиране

TemplinTech Cache Cleaner може да бъде деинсталиран чрез стандартния Joomla Extension Manager.

Важно: След деинсталирането трябва ръчно да премахнете съответния cron job от hosting control panel. Joomla не управлява cron задачите на външния hosting provider.

63.1. Runtime файлове

След окончателно деинсталиране могат да останат:

/cache/.templintechcachecleaner.state.json
/cache/.templintechcachecleaner.lock

Те могат да бъдат премахнати ръчно след окончателно деинсталиране на плъгина.

64. Upgrade

Не е необходимо предишната версия да бъде деинсталирана преди update.

TemplinTech Cache Cleaner използва Joomla upgrade механизма и Joomla Update System. При нормален update съществуващата конфигурация се запазва.

65. Changelog за версия 1.0.2

Security

  • допълнително hardened filesystem traversal;
  • защита срещу symbolic-link substitution;
  • допълнителна TOCTOU защита;
  • atomic exclusive lock creation;
  • filesystem identity validation;
  • защита на state path;
  • ограничени operational file permissions, когато се поддържат.

Configuration

  • whitelist на позволените Cleanup Interval стойности;
  • окончателни TemplinTech Joomla Update System endpoints.

66. Често задавани въпроси

Трябва ли cron задължително да бъде на всеки 5 минути?

Не. Това е препоръчителната конфигурация, когато hosting provider я позволява.

Ако Cleanup Interval е 1 час, защо cron трябва да стартира на всеки 5 минути?

За да може плъгинът сам да управлява реалния интервал и промяната му да не изисква редактиране на cron.

Ще се чисти ли кешът на всеки 5 минути?

Не, освен ако изрично не сте избрали Cleanup Interval 5 минути.

Мога ли да задам друга директория?

Не. Версия 1.0.2 умишлено работи само с Joomla root /cache.

Изтрива ли самата /cache директория?

Не.

Изтрива ли root index.html?

Не.

Следва ли symbolic links?

Не.

Има ли публичен URL за стартиране?

Не.

Изпраща ли cache съдържание към TemplinTech?

Не.

Нужен ли е download key?

Не за текущото безплатно разпространение.

Може ли да работи без cron?

CLI командите могат да бъдат стартирани ръчно, но автоматичното периодично почистване изисква cron или друг подходящ server-side scheduler.

Може ли външен web cron service да го стартира?

Не директно. Плъгинът умишлено не предоставя публичен HTTP endpoint.

Какво става, ако хостингът позволява cron само веднъж на час?

Задайте Cleanup Interval 1 час или повече.

Какво става, ако хостингът позволява cron минимум на 15 минути?

Използвайте cron на 15 минути и Cleanup Interval 15 минути или повече.

67. Бърза справка

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

Незабавно почистване

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --force

Нормално cron изпълнение

php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet

Препоръчителен crontab

*/5 * * * * php '/REAL/PATH/cli/joomla.php' templintech:cache-cleaner:run --quiet >/dev/null 2>&1

68. Информация за поддръжка

При технически проблем е полезно да разполагате със следната информация:

  • Joomla версия;
  • TemplinTech Cache Cleaner версия;
  • PHP версия на сайта;
  • PHP CLI версия;
  • hosting provider;
  • hosting plan;
  • използвана cron команда;
  • избран Cleanup Interval;
  • резултат от Status Command;
  • точният CLI error output.

Не публикувайте публично: hosting passwords, Joomla administrator passwords, database passwords, SSH private keys, API keys или други credentials.

69. Лиценз и авторство

TemplinTech Cache Cleaner се разпространява под:

GNU General Public License version 2 or later.

Безплатното разпространение на софтуера не премахва авторските права върху оригиналния код.

Автор: Dr. Yordan Balabanov
Copyright: Copyright (C) 2026 Dr. Yordan Balabanov.
Уебсайт: https://templintech.com

70. TemplinTech Cache Cleaner

TemplinTech Cache Cleaner е безплатен Joomla Console Plugin за контролирано и автоматизирано почистване на основната Joomla cache директория чрез server-side cron job.

Плъгинът е разработен с приоритет върху ясна конфигурация, ограничен filesystem scope, CLI-only execution, безопасно паралелно изпълнение, filesystem hardening и съвременна Joomla extension архитектура.

 

Developed by Dr. Yordan Balabanov.
Copyright (C) 2026 Dr. Yordan Balabanov.
Licensed under GNU General Public License version 2 or later.

CONTACT

Contact person: Dr. Yordan Balabanov
Phone: +49 176 376 708 10
Email: info@templintech.com
Business hours: Mon–Fri: 09:00–16:00 (CET/CEST)

© 2025–2026 TemplinTech™. Operated by Dr. Yordan Balabanov. All rights reserved.


Open to strategic partnerships and value-driven business proposals. If your project requires professional expertise or you are looking for high-level collaboration, feel free to reach out to discuss specific objectives.

Best regards,
Yordan Balabanov ∴