Создание задания CRON для получения / отправки значения базы данных - PullRequest
0 голосов
/ 16 августа 2011

Хочу заняться чем-то, что, на мой взгляд, является довольно простым, но никогда прежде не писал работу на CRON, я не совсем уверен, как это сделать. По сути, у меня есть простой запрос к БД, который я написал:

SELECT SUM(total) as totalDownloads FROM wp_podpress_statcounts

Как и следовало ожидать, это отображает число. Однако я хотел бы создать CRON, который автоматически запускает этот запрос каждый день и отправляет мне результаты. Я отслеживаю ежедневные загрузки подкаста, а используемый мной плагин podPress оставляет желать лучшего в отделе метрик. В идеале я хотел бы создать свою собственную систему статистики; тем не менее, мой PHP не совсем подходит.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

PHP не нужен, если вы используете несколько встроенных инструментов UNIX:

Для запуска из командной строки, используя MySQL, командную строку :

mysql -e 'SELECT SUM(total) as totalDownloads FROM wp_podpress_statcounts';

Любой из нихвведите -u -p для имени пользователя и пароля или ~/.my.cnf в вашем домашнем каталоге.

Отправьте его себе, используя Почта UNIX (1) :

mysql -e 'SELECT SUM(total) as totalDownloads FROM wp_podpress_statcounts' | mail your.addy@host.com

Теперь crontab за каждый день.

Сделайте crontab -e и введите следующие две строки:

# at midnight, every day
0 0 * * *        mysql -e 'SELECT SUM(total) as totalDownloads FROM wp_podpress_statcounts' | mail your.addy@host.com
0 голосов
/ 16 августа 2011

Просто к вашему сведению - есть еще одна опция, которую вы также можете посмотреть - события mysql.Например, как в MS SQL Server.Существуют некоторые ограничения в отношении того, что вы можете сделать, поэтому вам, безусловно, стоит сначала проверить их.

Проверьте: http://dev.mysql.com/doc/refman/5.1/en/events.html для получения дополнительной информации.

Лично я часто пишусценарий оболочки и использовать cron, как указано выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...