Настройка работы Cron
Posted: Mon Jun 29, 2015 9:29 pm
Добрый вечер! Администрирую свой проект, и у меня возник следующий вопрос: нужно добавить в cron задание на выполнение одного PHP-скрипта, который при каждом своём запуске коннектится к БД и добавляет пользователю проценты по вкладу. Скрипт работает, если его запускать из браузера или из консоли. Пробовал настроить крон через веб-интерфейс следующими командами:
Но увы, все попытки безрезультатны. Если запускать крон от username пользователя, созданного в Vesta CP, на почту приходит:
Тело скрипта под спойлером.
Code: Select all
sudo /usr/bin/php -q /home/username/web/site.ru/public_html/cron_dep.php
/usr/bin/php -q /home/username/web/site.ru/public_html/cron_dep.php
sudo /usr/bin/php -/home/username/web/site.ru/public_html/cron_dep.php
Если запускать этот же скрипт от пользователя Admin, то на почту падает:Could not open input file: home/username/web/site.ru/public_html/cron_dep.php
В чём ошибка?sudo: no tty present and no askpass program specified
Тело скрипта под спойлером.
SpoilerShow
<?php
include('include/config.php');
$minS = 0;
$date = (time())+86400;
$sql = "SELECT projects.* FROM projects ORDER BY id DESC";
$s=mysql_query($sql) or die(mysql_error());
$rows = mysql_num_rows($s);
for($i=0;$i<$rows;$i++){
$f=mysql_fetch_array($s);
$sql = "SELECT projects_depo.* FROM projects_depo WHERE(projects_depo.pid='".$f['id']."') ORDER BY id DESC";
$sdep=mysql_query($sql) or die(mysql_error());
$rowsdep = mysql_num_rows($sdep);
for($idep=0;$idep<$rowsdep;$idep++){
$fdep=mysql_fetch_array($sdep);
$pr= round($fdep['sum']/100*$f['p'],2);
$prib = $pr+$fdep['p'];
if($fdep['reinvest']==0){
$sql = "UPDATE projects_depo SET pdate='".($date-1500)."', p='".$prib."' WHERE (id='".$fdep['id']."')";
mysql_query($sql) or die(mysql_error());
$sql = "INSERT INTO history VALUES ('', '".$fdep['uid']."', '0', '".$pr."', 'Профит по плану: ".$f['name']."', '".($date-85400)."');";
mysql_query($sql) or die(mysql_error());
$uid_balY = get_balance($fdep['uid']) + $pr;
$sql = "UPDATE balance SET sum='".$uid_balY."' WHERE (uid='".$fdep['uid']."')";
mysql_query($sql) or die(mysql_error());
}else {
$sql = "UPDATE projects_depo SET pdate='".($date-1500)."', p='".$prib."', `sum`='".($fdep['sum']+$pr)."' WHERE (id='".$fdep['id']."')";
mysql_query($sql) or die(mysql_error());
$sql = "INSERT INTO history VALUES ('', '".$fdep['uid']."', '0', '".$pr."', 'Профит по плану: ".$f['name']." и реинвест', '".($date-85400)."');";
mysql_query($sql) or die(mysql_error());
}
}
}
?>
include('include/config.php');
$minS = 0;
$date = (time())+86400;
$sql = "SELECT projects.* FROM projects ORDER BY id DESC";
$s=mysql_query($sql) or die(mysql_error());
$rows = mysql_num_rows($s);
for($i=0;$i<$rows;$i++){
$f=mysql_fetch_array($s);
$sql = "SELECT projects_depo.* FROM projects_depo WHERE(projects_depo.pid='".$f['id']."') ORDER BY id DESC";
$sdep=mysql_query($sql) or die(mysql_error());
$rowsdep = mysql_num_rows($sdep);
for($idep=0;$idep<$rowsdep;$idep++){
$fdep=mysql_fetch_array($sdep);
$pr= round($fdep['sum']/100*$f['p'],2);
$prib = $pr+$fdep['p'];
if($fdep['reinvest']==0){
$sql = "UPDATE projects_depo SET pdate='".($date-1500)."', p='".$prib."' WHERE (id='".$fdep['id']."')";
mysql_query($sql) or die(mysql_error());
$sql = "INSERT INTO history VALUES ('', '".$fdep['uid']."', '0', '".$pr."', 'Профит по плану: ".$f['name']."', '".($date-85400)."');";
mysql_query($sql) or die(mysql_error());
$uid_balY = get_balance($fdep['uid']) + $pr;
$sql = "UPDATE balance SET sum='".$uid_balY."' WHERE (uid='".$fdep['uid']."')";
mysql_query($sql) or die(mysql_error());
}else {
$sql = "UPDATE projects_depo SET pdate='".($date-1500)."', p='".$prib."', `sum`='".($fdep['sum']+$pr)."' WHERE (id='".$fdep['id']."')";
mysql_query($sql) or die(mysql_error());
$sql = "INSERT INTO history VALUES ('', '".$fdep['uid']."', '0', '".$pr."', 'Профит по плану: ".$f['name']." и реинвест', '".($date-85400)."');";
mysql_query($sql) or die(mysql_error());
}
}
}
?>