[TYPO3] Script run from cron job returns different result than when run from terminal
Brian Bendtsen
bb at bellevuevej.dk
Fri Sep 12 10:16:48 CEST 2008
Hi
Im working with the extension auxnewsmailer for sending newsletters
automatically and therefore I need to set up a cronjob.
I have set up cronjobs before without any problems, but with this script
im having a bit of trouble.
The script scans which news to send and sends them and when I run the
script from a terminal it works fine, but when its executed from the
cronjob it gives a different result. To give an example. When its run
correctly the script sends two newsletters to two accounts and the
newsletters look fine.
When its run from the cronjob only one of the email accounts receive a
newsletter and the formatting is wrong.
So, has it something to do with permissions. When I run the script from
terminal im logged in as root. But I have read its not a good idea to
run a cronjob as root.
This is how the cronjob is set up:
*/5 * * * * php <pathToScript>/mailer.sh > /dev/null/
The script code:
#!/usr/bin/php
<?php
// set typo path to point to the root of the T3 installation - censored :)
$typopath='***';
// create a BE user called _cli_auxnewsmailer (must not be admin), for
better security change it to somethine else.
$MCONF['name'] = '_CLI_auxnewsmailer';
// *****************************************
// Standard initialization of a CLI module:
// *****************************************
if (@is_file($typopath.'typo3conf/ext/aux_newsmailer/mod1/index.php'))
$modulepath=$typopath.'typo3conf/ext/aux_newsmailer/';
else
$modulepath=$typopath.'typo3/ext/aux_newsmailer/';
// Defining circumstances for CLI mode:
define('TYPO3_cliMode', TRUE);
$BACK_PATH = '../../../../typo3/';
define('TYPO3_mainDir', 'typo3/');
define('PATH_thisScript',$typopath.'typo3/typo3');
define('TYPO3_MOD_PATH', $modulepath.'/mailer/');
// Include init file:
require($typopath.'typo3/init.php');
require($typopath.'typo3/sysext/lang/lang.php');
$LANG=t3lib_div::makeInstance('language');
$LANG->init('default');
require($modulepath.'mod1/class_auxnewsmailer_core.php');
$mailer=new tx_auxnewsmailer_core;
$mailer->init();
$mailer->batch($argv[1],'','');
?>
Any help is appreciated
/Brian
More information about the TYPO3-english
mailing list