【问题标题】:How to set MySQL database to 'Starting state' every hour如何每小时将 MySQL 数据库设置为“启动状态”
【发布时间】:2017-06-06 14:04:14
【问题描述】:

我有一个 WordPress 演示网站,可以让访问者试用一些实时插件。

我想要的是连接的 MySQL 数据库每小时刷新一次。含义:回到干净的开始状态。

因此,演示站点每隔一小时就会重新焕然一新,没有来自演示用户的任何数据。

是否有通过 php 运行的查询或者我该如何管理?

希望你能理解我的问题。

提前非常感谢!

更新:

我创建了一个 cronjob 并且该作业被激活,因为每次它被激活时我都会收到一封电子邮件:)

但是为什么我的 sql 文件没有执行呢?有什么想法吗?

<?php

exec("mysql -u DB-USER -pDB-PASS DB-NAME < /home/users/XXXX/XXXX/yw-cronjobs/clean_demo_db.sql");

$to      = 'contact@XXXX.nl';
$subject = 'Demo Cron Executed';
$message = 'Cron job to reset demo has been executed';
$headers = 'From: admin@XXXX.nl' . "\r\n" .
'Reply-To: admin@XXXX.nl' . "\r\n" .
'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);

?>

当我在 PHPMyAdmin 中导入 clean_demo_db.sql 文件时,它会执行应有的操作...

我错过了什么吗?

【问题讨论】:

  • 不少插件将 WordPress 安装重置为默认状态。 wordpress.org/plugins/search/reset
  • 我知道,但我正在运行一个多站点,而且...我不需要将数据库恢复到原来的空状态。我需要它回到我创建的时间戳。

标签: mysql wordpress backup refresh demo


【解决方案1】:

获取您的 MySQL 数据库的mysqldump。安排 cronjob 每小时放置一次转储。 对于put,你可以使用mysql -h&lt;db_hostname&gt; -u&lt;db_username&gt; -p&lt;db_password&gt; &lt;databasename&gt; &lt; &lt;mysqldump_file.sql&gt;

如果您的服务器是 linux,则使用 sudo crontab -e 安排 cron 作业。

【讨论】:

  • 所以如果我想每小时注入一个 sql 文件,应该这样做: 0 * * * * mysql -h -u -p
  • 我创建了一个 cronjob 并且该作业被激活,因为我每次都收到一封电子邮件:) 但是为什么我的 sql 文件没有执行?有任何想法吗? 我在这里遗漏了什么吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-04
  • 2019-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-27
相关资源
最近更新 更多