我想使用WP-CLI导出数据库-使用wp db export
- 创建备份。我还需要使用cron来控制备份计划。WP-CLI安装在我的托管主机上,我可以通过SSH
, 但我不能用cron
直接在我的服务器上。
为了使用我自己的cron作业来安排备份,我需要使用插件WP Crontrol来添加和编辑cron
工作;该插件使用函数作为add_action
, i、 e。my_backup_cron
开火my_backup_function
:
这是插件使用的格式:
add_action( \'my_backup_cron\', \'my_backup_function\' );
运行WP-CLI命令的函数可以是标准函数,即
functions.php
function my_backup_function() {
wp_mail( \'hello@example.com\', \'WP Crontrol\', \'WP Crontrol rocks!\' );
}
但是如何转换WP-CLI命令-例如
wp --path=/var/www/ db export
, 与路径和其他参数一起-转换为类似的函数
my_backup_function
?
SO网友:Pat J
WP-CLI可以评估PHP文件。
看见wp eval-file {PHP file name}
有关详细信息,但基本上您:
编写一个PHP文件,其中包含您希望在WordPress上下文中执行的命令(假设您调用它myfile.php
)使用WP-CLI运行它:wp eval-file myfile.php
如果需要安排时间,可以使用cron
, Windows调度程序,或本地操作系统提供的任何用于调度任务的程序。
更新1重新阅读您的问题时,这可能更符合您的要求(本质上,您希望在计划的时间运行shell脚本)。
创建一个shell脚本(假设它位于/home/you/wp-backup.sh
:
#!/bin/sh
/usr/local/bin/wp --path=/var/www/ db export
将该脚本添加到
crontab
使用
crontab -e
:
0 0 * * * /bin/sh /home/you/wp-backup.sh
。。。每天午夜都会运行作业。(请参见
crontab
quick reference 更多选项。)
这还假设sh
外壳位于/bin/sh
和wp
位于/usr/local/bin/wp
. 如果没有,请相应调整代码。
更新2根据评论,您需要的是如何模拟wp db export
在WordPress上下文中。恐怕我有个坏消息。
查看wp db
source, 看来export
command 基本上使用PHPexec()
要运行的命令mysqldump
. 我认为你不应该效仿这一点——我觉得有些安全专家一想到这一点就感到畏缩。
确实存在可以导出数据库的WordPress备份插件;您可以查看它们(或者,如果它们是开源的,请检查它们的代码,看看其中是否有任何东西可以帮助您)。