ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

Вопрос по cron'У

 

7094
Dim @Render
Возник такой вопрос, уже давно хотел такое организовать, люди ведь как-то делают.
Допустим у меня в базе, в таблице, есть 2 поля hits и click. (у всех строк разные значения)
Имеется крон, в котором можно задать задание.
Требуется, чтобы допустим каждый месяц, в базе полностью у всех строк значения полей hits и click сбрасывались на ноль.
Как такое можно организовать через крон? Нужно делать какой-то .php файл? Если да, то как и что... Просто c таким ещё не сталкивался((

2349
redsymbzone @redsymbzone
ну например можно обнулить счетчик через cron который есть в cpanel, он запускает нужный скрипт скрипт в нужное время...
а если его нету то нет проблем, для начала делаем ячейку в бд и ставим значение равное дате последнего обнуления счетчика. делаем в скрипте такое условие что если время больше чем 23.59 и разница во времени больше одного дня, то в базу данных поступит запрос на обнуление и также изменит ячейку на текущую дату...вот так вот
такое уже делал в своем скрипте для сайта, все работает) требуются базовые знания php, mysql для организации подобного
P.S. если интересует как обнулить то нет проблем)) mysql_query(UPDATE counter SET hits=0 AND clicks=0);

Отредактировано redsymbzone - 08.10.2009
7094
Dim @Render
Условия и всё такое я знаю, с логикой проблемы, как и с php.
Ладн хер сним вернусь с армии, займусь плотно пхп.

6600
Александр @admiral
Render пишет:

Условия и всё такое я знаю, с логикой проблемы, как и с php.
Ладн хер сним вернусь с армии, займусь плотно пхп.

Думаю тут два логических пути:
1. сформировать временный файлик с данными для того чтобы выгрузить его потом в базу данный командой LOAD DATA
2. вставлять запись с помощью команды INSERT
Это если знаком с этими командами и что они делают, то думаю мысль поймешь. А так да, кроном создаешь команду на выполнение того или иного задания, в то или иное время или интервал времени.
Пример сценария выгрузки в базу данных командой LOAD DATA примерно такой:
1. Подключаемся к базе данных
2. Обнуляем таблицу
3. Загружаем данные
4. Отключаемся от базы данных
5. Удаляем временный файл
PS так как сценарий будет выполняться кроном, то пути до файлов должны быть абсолютными, т.е. например /var/www/my_sites/papka/updatesql.txt

Каким из способов обновляться (INSERT или LOAD DATA), тут опять же надо логически подумать что будет лучше.
Команда INSERT впринципе медленнее, но за то тратится меньше ресурсов, поэтому наверное её чаше используют в скриптах,
хотя тут надо бы провести эксперемент на разных по мощности серверах, тогда думаю наглядней видно будет...

7094
Dim @Render
Другой вопрос. Имеется готовый файл. Его нужно запускать кроном каждый месяц !
Неподскажите что нужно прописать в строку /команда' ?

6600
Александр @admiral
/home/... путь до файла который запускаешь
ну а как часто его надо запускать уже выбираешь в пунктах Время исполнения задания

5421
Глеб @Глебон
Серверный путь к файлу наверное 😐

7094
Dim @Render
Хм. Не работает. Пробывал разные пути, даже через http.
Такое чувство крон вообще на хосте не включён.
Кстати путь к файлу указывал правильно, т.к смотрел через phpinfo.
И скрипт работает исправно без крона.
<?
phpinfo()
?>


6600
Александр @admiral
В логах что пишется? Что скрипт делать должен? mylogin/mydomen пример был или правильный путь?))
а счет включеного или нет крона можно думаю в панели посмотреть, но наверное включен если выведены настройки, что за панель и хост?