Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Автоматический запуск скрипта в указанное время

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
dembi
Отправлено: 16 Декабря, 2009 - 13:24:45
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Привет Всем!

У меня такой вопрос. Можно ли реализовать это с помощью PHP.

Задача следующая.

Нужно чтобы автоматически раз в месяц в определенное время, запускался скрипт, который будет делать выборку из БД.
Результат сохранять в файл.
Затем формировать письмо и отправлять с вложенным файлом на указанный email.

Скрипт с запросом я напишу.
Функцию с формированием письма с вложенным файлом думаю сделаю.

Как сделать, так чтобы – этот скрипт запускался автоматически в указанное время.

Заранее спасибо за советы.
 
 Top
valenok Модератор
Отправлено: 16 Декабря, 2009 - 13:47:18
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




google / wikipedia -> cron


-----
Truly yours, Sasha.
 
My status
 Top
dembi
Отправлено: 16 Декабря, 2009 - 13:56:44
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Я понимаю, что нужно с помощью крона задать время запуска.
Прошу прощения, но ничего подобного для автозапуска не делал еще.

К примеру. Есть скрипт php.script:



Я делаю его запускающимся:

chmod u+x php.script

пробую запустить и получаю ошибку:

    ./php.script
    ./php.script: line 1: ?php: Нет такого файла или каталога test
    ./php.script: line 3: syntax error near unexpected token `newline'
    ./php.script: line 3: `?>'
 
 Top
Hunter
Отправлено: 16 Декабря, 2009 - 15:05:43
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




то что тебя интересует называется планировщиком. Большинство провайдеров предоставляет такие возможности и как правило они уже включены в твой тариф оплаты хостинга. Для этого дело предоставляется интуитивно понятный интерфейс. Уточняй у хостеров.
что касается реализации всего этого средствами php - конечно можно, но тут очень много подводных камней:
1. запуск скрипта зависит от обращения к нему, т.е. кто то должен к нему обратиться (зайти на сайт например)
2.невозможность точного прогноза посещаемости твоего ресурса обеспечит тебе следующее:
3.черезмерная нагрузка на сервер 9если вдруг произойдет резкий всплеск посещаемости))))))
4. или вообще невыполнение задачи в нужное время т.к. за может ни кто и не обратиться к скрипту за нужный интервал времени


в общим самое рациональное решение - это планировщики, а php сгодится на крайний случай, если сильно надо а другого выхода нет.
(Добавление)
dembi
еще вот вопрос:
будь я этим скриптом я бы нифига не понял, меня "будит" сервер с просьбой показать строку "test".. и кому я должен ее показывать?? где выводить?? это ведь не пользователь меня попросил, ..

хотя я могу конечно ошибаться))))
 
 Top
dembi
Отправлено: 16 Декабря, 2009 - 16:22:40
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Это я для примера написал этот скрапт.

Я хочу понять, php скрипты можно запускать только когда идет какой-то http запрос, или можно писать php срикты, как например sh/bash/python ?

Если можно, то как их запускать из командной строки?
 
 Top
Hunter
Отправлено: 16 Декабря, 2009 - 17:18:34
Post Id



Частый гость


Покинул форум
Сообщений всего: 214
Дата рег-ции: Дек. 2009  
Откуда: Блага


Помог: 0 раз(а)




dembi
к скрипту может обращаться сервер без твоего участия при помощи планировщиков. просто пример который ты привел содержит команду echo? которая служит именно для вывода строки именно в браузер, а это уже предполагает какой то запрос какого то пользователя какого то браузера. как то так вот....
 
 Top
dembi
Отправлено: 16 Декабря, 2009 - 17:25:16
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Хорошо, можно привети простой пример.

К примеру вывести с помощью PHP в обысный stdout 2+2

Машина у меня работает под ОС: Debian
 
 Top
Мелкий Супермодератор
Отправлено: 16 Декабря, 2009 - 17:29:44
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




dembi, если нет, ставите пакет php5-cli
запускать командой: php скрипт
Исполняемым скрипт делать не нужно, запускает всё равно не баш/шелл

Либо - wget'ом запрашиваете по http.

(Отредактировано автором: 16 Декабря, 2009 - 17:31:52)



-----
PostgreSQL DBA
 
 Top
dembi
Отправлено: 17 Декабря, 2009 - 11:37:22
Post Id


Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Апр. 2009  


Помог: 0 раз(а)




Спасибо за совет.
Буду пробовать реализовать это.
 
 Top
JustUserR
Отправлено: 17 Декабря, 2009 - 13:37:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




dembi А если вам нужен более-менее серьезные задачи выполнять то сделайте Perl/python-скрипт который будет висеть в памяти и чтото делать а чтобы не грузить процессор то sleep использовать


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB