Как автоматизировать MySQL запросы для каждого дня, используя дату в качестве условия в моем запросе? - PullRequest
0 голосов
/ 28 марта 2019

Я работаю в компании, и мы находимся в ситуации, когда нам приходится выполнять запросы mysql каждый день (за предыдущий день), чтобы проверить некоторые цифры.Я был назначен на это и у меня есть около 10 запросов для запуска каждое утро.Я хочу знать, есть ли способ, чтобы я мог автоматизировать эти запросы каждый день.Я не против войти в рабочее место, чтобы запустить все сразу?Единственная сложность в том, что мы используем дату проведения боя, и, поскольку мне приходится выполнять запросы за предыдущий день, дату проведения сбора будет увеличиваться каждый день.

Пример одного из запросов.

select count(*) from item_sales
where code = 12
and date = 79686;

Это более старый кларнедат, но он будет увеличиваться с каждым днем.

Ожидаемый результат - получение электронной почты каждый день.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Вы можете написать ниже запрос, который заботится о дате боя

query="select count(*) from item_sales
where code = 12
and date = DATEDIFF(now(),'1800-12-28')";

И вы можете написать скрипт оболочки или php скрипт и установить cronjob для выполнения этого запроса, получения результата и отправки почты с результатом.

Пример оболочки:

data=`mysql -u $user --password=$password -e $query`;

echo "Total Count :$data" | mail -s "subject" someone@somewhere.com

0 голосов
/ 28 марта 2019

Вы можете использовать простой скрипт, который:

  • получит временную метку за день до
  • , преобразует ее в формат даты проведения боя
  • , запустит SQL-запросыизвлеките результаты
  • отправьте электронное письмо с результатами

Когда он протестирован и работает, создайте простой файл crontab, указывающий, что вы хотите, чтобы ваш скрипт запускался каждый день.

...