drupal, cron, cli

Главные вкладки

Аватар пользователя Stalker-g2 Stalker-g2 24 мая 2008 в 15:24

Иногда надо запускать по крону задание, используя CLI
То бишь не
wget http://www.lala.ru/cron.php
А:
/usr/bin/php http://www.lala.ru/cron.php

Зачем? Ну, например, у вас запрещены для вёб-скриптов shell_exec() для безопасности, а вот в некоторых скриптах вам необходимо их использовать. Например, ffmpeg. По умолчанию крон друпала не запустится. Однако, если создать такой файлик - всё будет хорошо:

<?php
// $Id: cron.php,v 1.36 2006/08/09 07:42:55 dries Exp $

/**
 * file
 * Handles incoming requests to fire off regularly-scheduled tasks (cron jobs).
 */

$_SERVER['HTTP_HOST'] = 'lala.ru';
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
$_SERVER['REQUEST_METHOD'] = 'GET';

include_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$users = db_query('SELECT * FROM {users}');
while($user = db_fetch_array($users)) {
    echo $user['name'] . '\n';
}

echo 'all!';