2

我想每月将我的数据库中的一些表导出到 Excel/电子表格。在 PHPMyAdmin 中有一个将查询结果导出到所需文件类型的直接选项。如何在没有其他脚本的情况下利用此导出功能每月运行 cronjob?

基本上在 CPanel 上(数据库托管在网络中),我们只需提供要通过 cronjob 执行的脚本的路径。但是在 PHPMyAdmin 中没有这样的机会。它是 PHPMyAdmin 的一个包含的功能,我们通常在其中手动单击并进行操作。那么我如何在Cpanel中做到这一点?

4

3 回答 3

3

你有 ssh 访问盒子吗?就我个人而言,我会在 phpmyadmin 之外实现这一点,因为 phpmyadmin 仅用于通过界面进行手动操作。为什么不写一个简单的脚本来导出数据库呢?

类似的东西mysqldump database table

于 2012-07-21T18:22:45.157 回答
2

作为一个网络应用程序,导出功能是一个 POST 请求。在演示应用程序中 URL 是http://demo.phpmyadmin.net/STABLE/export.php,然后发布数据包含所有必需的参数,例如:(您也可以使用 Fiddler/Chrome 开发工具查看它)

token:3162d3b849cf652c2577a45f90022df7
export_type:server
export_method:quick
quick_or_custom:custom
output_format:sendit
filename_template:@SERVER@
remember_template:on
charset_of_file:utf-8
compression:none
what:excel
codegen_structure_or_data:data
codegen_format:0
csv_separator:,
csv_enclosed:"
.....

一个棘手的问题是身份验证令牌,但我相信这也可以通过一些配置和/或提取参数来克服(例如http://demo.phpmyadmin.net/中的“直接登录” )

请参阅此处 如何从 Linux 命令行使用 curl 发送数据?

如果你想避免这一切,还有许多其他的网络自动化工具可以记录场景并回放。

于 2012-07-16T18:52:48.210 回答
2

只需编写一个简单的 php 脚本来连接到您的数据库并在此处使用答案:

如何以 CSV 格式输出 MySQL 查询结果?

于 2012-07-18T07:59:50.073 回答