我想通过cron运行一个SQL查询。 我想我会创build一个.sql文件,并从我放在cron文件夹中的脚本调用它。 查询是相对较大,不是我写的,所以我宁愿不必在PHP中重新创build它。
任何人都可以提供帮助吗? 我不清楚如何从脚本运行SQL查询。 提前致谢。
编辑:只是为了一些背景信息,查询是为了从多个表抓取数据,并在一个csv文件中组织它。
每个数据库都有一个命令行客户端工具
对于MySQL,请参阅man mysql
命令添加cron这样的东西
cat /dir/query.sql|mysql database -u user -ppass >result
对于PHP,您可以使用文件IO读取查询,之后使用stringvariables而不是请求中的查询。
我最终使用的解决scheme是将查询放在“here document”中。 这个bash脚本然后用cron实现。 有关更多信息,请查看此链接: http : //snippets.dzone.com/posts/show/3078
以防万一链接失效,下面是示例代码片段:
#! /usr/bin/env bash # execute some bash scripting commands here mysql mydatabase <<SQL_ENTRY_TAG_1 SELECT * FROM mytable WHERE somecondition='somevalue'; SQL_ENTRY_TAG_1 # execute other bash scripting commands here mysql mydatabase <<SQL_ENTRY_TAG_2 SELECT * FROM myothertable WHERE someothercondition='someothervalue'; SQL_ENTRY_TAG_2