使用 wp-cli 备份 wordpress 数据库

backup wordpress database using wp-cli

这是一个基本问题.. 我正在尝试编写一个非常简单的脚本来每小时备份我的 wordpress 数据库..

#!/bin/sh
#
# This script do an hourly backup of WordPress DB

# Set global parameters
WPROOT=/home/mydomain/public_html
WPBKUPS=/usr/home/mydomain/db_backups
SITEURL=`wp option get siteurl | awk -F/ '{print }'`
BKNAME="$WPBKUPS/`date +%Y-%m-%d.%H%M`-$SITEURL"

# change directory
#cd $WPROOT
#cd /usr/local/www/production/httpdocs/wpsite
wp db export --allow-root - | gzip -9 > $BKNAME.sql.gz

# Stop build-up of loads of older files with exec rm \o/
find "$WPBKUPS" -mtime +1 -exec rm {} \;

问题 1:我应该使用选项 --add-drop-table 吗? 我的代码有什么区别

问题二: 目前脚本驻留在 wproot.. 我如何更改脚本以使脚本不在 public 面向目录中?

谢谢

问题一: --add-drop-table 它将添加 Add DROP TABLE statement before each CREATE TABLE statement。 恢复时它会掉落 table 已经存在。

您可以在此处找到更多相关信息 Link

问题二: mysqldump –-user [user name] –-password=[password] [database name] > [dump file]

例如: /usr/bin/mysqldump --user="root" --password="root" "wp_db" > wp_db.sql

将此命令添加到脚本文件中,然后将其存储在 WordPress root 之外。

从终端执行脚本table,

chmod +x /path/to/yourscript.sh

打开您的个人 crontab

EDITOR=gedit crontab -e

并每小时将以下行添加到 运行 您的脚本中。

0 */1 * * *  /path/to/yourscript.sh