Ich kriegs einfach nicht gebacken
Ich möchte folgende php Datei per Cronjob einmal am Tag ausführen lassen
Die Datei liegt im verzeichnis
/usr/virtualweb/domain1/html/catalog
und heißt
cronbirthday.php
Ich schaffs einfach nicht die Datei per cron ausführen zu lassen
Kann mir mal jemand bitte erklären schritt fürt schritt wie ich das anstellen muß das das funzt
mfg Chris
Ich möchte folgende php Datei per Cronjob einmal am Tag ausführen lassen
PHP:
<?php
/*
$Id: cron_birthday.php,v 1.0.1.2 2005/02/03 12:46:52 davistan Exp $
Contribution based on:
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2005 Davis Tan - www.datumcorp.com
Released under the GNU General Public License
*/
include('includes/application_top.php');
//Settings - changes made here
$offset = '+2'; //Send birthday email how many days after(-)/during(blank)/before(+)
$subject = 'Alles Gute zum Geburtstag %s!';
$msg = 'Hallo %s,'. "\n\n" .
'Nach ihrer Registrierung zur Folge haben sie am %s Geburtstag. Wir von '.STORE_NAME.' wünschen ihnen alles erdenklich Gute zu ihrem Geburtstag!!!
';
/* $msg .= '
We have a birthday present for you :)
'.STORE_NAME.' would like to give you a birthday present:
';*/
$msg .= '
Wir hoffen das ihnen dieses Mail etwas freude bereitet,
und würden uns freuen sie bald wieder bei '. STORE_NAME .' begrüssen zu dürfen.!
Mit freundlichen Grüssen,
'.STORE_OWNER . "\n" . STORE_NAME . ' - ' . HTTP_SERVER . DIR_WS_CATALOG . "\n" . TEXT_SLOGAN . "\n";
//prevent script from running more than once a day
$prev = tep_db_query("SELECT * FROM ".TABLE_CONFIGURATION." WHERE CONFIGURATION_KEY='CRON_BD_RUN'");
if (tep_db_num_rows($prev) > 0) {
$prev_val = tep_db_fetch_array($prev);
if($prev_val['configuration_value'] == date("Ymd"))
die('Halt! Already executed - should not execute more than once a day.');
else
tep_db_query("UPDATE ".TABLE_CONFIGURATION." SET configuration_value='".date("Ymd")."' WHERE CONFIGURATION_KEY='CRON_BD_RUN'");
} else {
tep_db_query("INSERT INTO ".TABLE_CONFIGURATION." (CONFIGURATION_KEY, configuration_value, CONFIGURATION_GROUP_ID) VALUES('CRON_BD_RUN', '".date("Ymd")."', 6)");
}
$bdsql = "SELECT * FROM " . TABLE_CUSTOMERS . " WHERE " .
"MONTH(customers_dob)=MONTH(curdate()) AND DAYOFMONTH(customers_dob)=DAYOFMONTH(curdate())$offset";
$bdqry = tep_db_query($bdsql);
if (tep_db_num_rows($bdqry) > 0) {
while($bdarr = tep_db_fetch_array($bdqry))
{
echo 'Sent email to '. $bdarr['customers_firstname'] . ' ' . $bdarr['customers_lastname'] . ' ' . tep_date_short($bdarr['customers_dob']) . "\n";
$bd_sub = sprintf($subject, $bdarr['customers_firstname']);
$bd_msg = sprintf($msg, $bdarr['customers_firstname'], tep_date_short($bdarr['customers_dob']));
tep_mail($bdarr['customers_firstname'], $bdarr['customers_email_address'], $bd_sub, $bd_msg, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS, '');
// send emails to other people
if (SEND_EXTRA_ORDER_EMAILS_TO != '')
tep_mail($bdarr['customer_firstname'], SEND_EXTRA_ORDER_EMAILS_TO, $bd_sub, $bd_msg, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS, '');
}
} else {
//no birthdays for today
if (SEND_EXTRA_ORDER_EMAILS_TO != '')
tep_mail(STORE_NAME, SEND_EXTRA_ORDER_EMAILS_TO, STORE_NAME . ' Birthday Cron', 'No birthday for ' . date("Y-m-d") . ' offset: '. $offset, STORE_NAME, STORE_OWNER_EMAIL_ADDRESS, '');
}
require(DIR_WS_INCLUDES . 'application_bottom.php');
?>
Die Datei liegt im verzeichnis
/usr/virtualweb/domain1/html/catalog
und heißt
cronbirthday.php
Ich schaffs einfach nicht die Datei per cron ausführen zu lassen
Kann mir mal jemand bitte erklären schritt fürt schritt wie ich das anstellen muß das das funzt
mfg Chris