Для начала смотрим в документацию (не между строк!):
http://www.1c-bitrix.ru/help_html/source/main/help/ru/developer/general/technology/agents.php.html
Затем:
1. файл /bitrix/php_interface/init.php
[CODE]
define('LOG_FILENAME', $_SERVER['DOCUMENT_ROOT'].'/log.txt'); // лог на время отладки
function checkDay($IBLOCK_ID = false) {
$IBLOCK_ID = intval($IBLOCK_ID);
if($IBLOCK_ID > 0)
{
global $USER;
if(!is_object($USER))
{
$USER = new CUser;
}
include($_SERVER['DOCUMENT_ROOT'].'/checkDay.php');
unset($USER);
}
// $IBLOCK_ID - код инфоблока для выборки
return 'checkDay('.$IBLOCK_ID.');';
}
[/CODE]
2. файл /checkDay.php
[CODE]
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
// запишем в лог код инфоблока
AddMessage2Log('$IBLOCK_ID: '.$IBLOCK_ID, '');
$arResult_ = array();
if(CModule::IncludeModule('iblock'))
{
$rsSections = CIBlockSection::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID), false);
while($arItem = $rsSections->GetNext(false, false))
{
$arResult_[] = array('ID' => $arItem['ID'], 'NAME' => $arItem['NAME']);
}
}
// запишем в лог результат выборки
AddMessage2Log('$arResult_: '.print_r($arResult_, true), '');
?>
[/CODE]
3. В админке старый агент удаляем, добавляем новый:
Дата запуска: <сегодня>
Активен: <ставим галочку>
Функция агента: checkDay(18);
Интервал (сек.): 60
* где 18 - код инфоблока для выборки.
** вместо 60 нужный интервал запуска
Смотрим в лог /log.txt, убеждаемся, что все работает...