meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cron [2024/08/29 20:13] – external edit 127.0.0.1cron [2025/12/07 02:41] (current) – [Script purposes] 108.63.126.75
Line 1: Line 1:
 ====== Cron ====== ====== Cron ======
  
-ITFlow comes with an array of PHP scripts that are meant to be executed automatically using Cron. The operation of scripts via Cron guarantees that actions are carried out autonomously in the backgroundeliminating the need for a user to be logged in. We strongly recommend configuring cron.+ITFlow includes PHP scripts designed to run automatically via [[https://en.wikipedia.org/wiki/Cron|Cron]]ensuring background tasks execute without user interacton. We strongly recommend configuring Cron.
  
-==== Cron Activation & Key ==== 
  
-For the sole execution of the scripts by Cronnot by an arbitrary user or bot visiting the pagesit is necessary to activate Cron and generate a Cron Key.+==== Script purposes ==== 
 +All Cron scripts are now in the ''/cron/'' directory. There are several different cron scripts, each with a particular purpose: 
 +  * ''cron.php'' - Daily maintenance tasks (cleanupauto-closing resolved tickets, alerts, recurring invoices, etc.) 
 +  * ''mail_queue.php'' - Sends e-mails (SMTP) 
 +  * ''ticket_email_parser.php'' - Reads e-mails and creates/updates tickets (IMAP) 
 +  * ''domain_refresher.php'' - Updates domain details (expiry, records, whois) 
 +  * ''certificate_refresher.php'' - Updates certificate details (expiry, issuer, key)
  
-Sign in to ITFlow with administrative rights. Proceed to **Settings** > **Notifications**: +   
-  * Enable cron +==== Crontab file ====
-  * Generate a Cron Key+
  
-== Cron Scripts == +To setup the scheduled tasks, copy the [[https://github.com/itflow-org/itflow-install-script/blob/main/cron.d-itflow|provided cron.d-itflow file]] to your system's cron directory (e.g. ''/etc/cron.d/itflow'').
-The following scripts should be added to your Cron: +
-  *NOTE: THESE ARE SETUP BY DEFAULT IF YOU INSTALLED ITFLOW USING THE [[installation_script|SCRIPT]]+
  
-  * ''php /full/path/to/**cron.php** **[KEY]**'' -- This should run daily at 2 AM for tasks such as cleanup, auto-closing resolved tickets, alerts, recurring invoices, and more. +//NB: If installed using the automated script after v25.10, this will have been done for you.//
-  * ''php /full/path/to/**cron_ticket_email_parser.php** **[KEY]**'' -- This should run every minute: it interprets emails and creates/updates tickets +
-  * ''php /full/path/to/**cron_mail_queue.php** **[KEY]**'' -- This should run every minute: it's used for in-app email sending +
-  * ''php /full/path/to/**cron_domain_refresher.php** **[KEY]**'' -- This should run every day: each run will update the details of the oldest updated domain+
  
-Please note: Swap [KEY] with your actual Cron key, and don't include the brackets [ ] 
  
-== Example == +==== Cron Activation ==== 
-<code> +You must then activate Cron within ITFlow:
-# /etc/crontabsystem-wide crontab+
  
-ITFlow - Nightly cron script +  * Sign in to ITFlow with administrative rights. 
- 02   * * *   root    php /var/www/pr-review-base.itflow.org/cron.php 4PlrCJ2kJ5cvf4jnJmoB2E1oTY4PsX8w 2>&1 | logger -t itflow-nightlycron +  * Navigate to **Settings** > **Notifications** 
-</code> +  * Enable Cron
-{{:cron_example.png?direct|}}+