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/10/29 03:22] johnnycron [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 Script 2.0 as of 2024-10-27 == +
-If installed by script after the date above location will now be ''/etc/cron/cron.d/itflow'' +
-<code> +
-0 2 * * * www-data /usr/bin/php /var/www/install.dev.itflow.org/cron.php hhy4rK5R0jaSRP4ao9Oq +
-* * * * * www-data /usr/bin/php /var/www/install.dev.itflow.org/cron_ticket_email_parser.php hhy4rK5R0jaSRP4ao9Oq +
-* * * * * www-data /usr/bin/php /var/www/install.dev.itflow.org/cron_mail_queue.php hhy4rK5R0jaSRP4ao9Oq +
-</code> +
-== Cron Scripts == +
-The following scripts should be added to your Cron: +
-  *NOTE: THESE ARE SETUP BY DEFAULT IF YOU INSTALLED ITFLOW USING THE [[installation_script|SCRIPT]]+
  
-  * ''sudo -u www-data php /full/path/to/**cron.php** **[KEY]**'' -- This should run daily at 2 AM for tasks such as cleanupauto-closing resolved tickets, alerts, recurring invoices, and more. +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'cron directory (e.g. ''/etc/cron.d/itflow'').
-  * ''sudo -u www-data php /full/path/to/**cron_ticket_email_parser.php** **[KEY]**'' -- This should run every minute: it interprets emails and creates/updates tickets +
-  * ''sudo -u www-data php /full/path/to/**cron_mail_queue.php** **[KEY]**'' -- This should run every minute: it'used for in-app email sending +
-  * ''sudo -u www-data 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 +
-  * ''sudo -u www-data php /full/path/to/**cron_certificate_refresher.php** **[KEY]**'' -- This should run every day: each run will update the details of the oldest updated certificates.+
  
-Please noteSwap [KEY] with your actual Cron key, and don't include the brackets [ ]+//NBIf installed using the automated script after v25.10, this will have been done for you.//
  
-== Example == 
-<code> 
-# /etc/crontab: system-wide crontab 
  
-ITFlow - Nightly cron script +==== Cron Activation ==== 
- 02   * * *   root    php /var/www/pr-review-base.itflow.org/cron.php 4PlrCJ2kJ5cvf4jnJmoB2E1oTY4PsX8w 2>&1 | logger -t itflow-nightlycron +You must then activate Cron within ITFlow
-</code> + 
-{{:cron_example.png?direct|}}+  * Sign in to ITFlow with administrative rights. 
 +  * Navigate to **Settings** > **Notifications** 
 +  * Enable Cron