我有一个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 = '[email protected]';
$subject = 'Demo Cron Executed';
$message = 'Cron job to reset demo has been executed';
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);
?>
当我在PHPMyAdmin中导入clean_demo_db.sql文件时,它会执行应做的工作...
我在这里想念什么吗?
最佳答案
取MySQL数据库的mysqldump
。安排cronjob,每小时进行一次转储。
对于推杆,可以使用mysql -h<db_hostname> -u<db_username> -p<db_password> <databasename> < <mysqldump_file.sql>
如果您的服务器是Linux,则使用sudo crontab -e
计划cron作业。
关于mysql - 如何每小时将MySQL数据库设置为“开始状态”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44392208/