. /** * CLI cron * * This script looks through all the module directories for cron.php files * and runs them. These files can contain cleanup functions, email functions * or anything that needs to be run on a regular basis. * * @package core * @subpackage cli * @copyright 2009 Petr Skoda (http://skodak.org) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define('CLI_SCRIPT', true); require(__DIR__.'/../../config.php'); require_once($CFG->libdir.'/clilib.php'); // cli only functions require_once($CFG->libdir.'/cronlib.php'); // now get cli options list($options, $unrecognized) = cli_get_params( array( 'help' => false, 'stop' => false, ), array( 'h' => 'help', 's' => 'stop', ) ); if ($unrecognized) { $unrecognized = implode("\n ", $unrecognized); cli_error(get_string('cliunknowoption', 'admin', $unrecognized)); } if ($options['help']) { $help = "Execute periodic cron actions. Options: -h, --help Print out this help -s, --stop Notify all other running cron processes to stop after the current task Example: \$sudo -u www-data /usr/bin/php admin/cli/cron.php "; echo $help; die; } if ($options['stop']) { // By clearing the caches this signals to other running processes // to exit after finishing the current task. \core\task\manager::clear_static_caches(); die; } \core\local\cli\shutdown::script_supports_graceful_exit(); cron_run();