我如何定期从一个数据库导出到另一个数据库(在同一台服务器上)?

运行testing版网站(与现场网站不同的平台)。

已经有通过php脚本导出/导入过程。 自动从一个数据库获取数据并导出到另一个数据库。

我想自动运行这个(至less每天)传输,以更新testing网站与现场的内容。

什么是我最简单的select(除了手动运行脚本)?

我正在考虑:

  1. 在脚本中编写附加function,以便根据设置的服务器时间戳跟踪上次运行或运行的时间

  2. 编写额外的function来检查数据库的新/更新的数据(不知道这是可能的)

  3. ?????

此外,也许这是更适合不同的网站(不serverfault),让我知道。

你应该可以用一个简单的cronjob来完成这个任务,首先执行一个sqldump,然后sqlimport,然后重启第二个SQL实例(如果需要的话)

就我个人而言,我喜欢在我的cronjobs中添加“logging器”语句来logging开始的一个步骤,以及结束时的另一个步骤,以便我可以跟踪事情需要多长时间。

Sup,Dan!

克伦是要走的路。 如果你有ssh访问你的服务器,你可以这样做:

sudo crontab -e 

要显示cron选项卡,可以添加一行显示要执行的脚本/命令:

 1 1 * * * php /path/to/script.php 

Cron执行基于:

 minute, , day of month, month, day of week 

所以, 1 1 * * * =每周每月每天的第一个小时的第一分钟

*是通配符。

您将需要运行PHP命令行界面来执行此操作。 另一种方法是编写一个bash / shell脚本,从命令行执行传输。 如果你已经有了PHP脚本,那么我会坚持下去,并用cron来调用它。

您可以使用mysqlbackup将您的数据库内容转储到一个sql文件中。

该文件可以通过parsing该文件与mysql-super-user(通常称为root)导入。

这里没有涉及PHP …