这是一个基本问题.. 我正在尝试编写一个非常简单的脚本来每小时备份我的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 $3}'`
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选项吗? 与我的代码有什么区别
问题2: 目前脚本驻留在wproot上..如何更改脚本以使脚本不在面向公众的目录中?
谢谢
答案 0 :(得分:1)
问题1:
--add-drop-table
它会添加Add DROP TABLE statement before each CREATE TABLE statement
。
恢复它时,表已经存在。
您可以在Link
找到更多相关信息问题2:
mysqldump –-user [user name] –-password=[password] [database name] > [dump file]
例如:
/usr/bin/mysqldump --user="root" --password="root" "wp_db" > wp_db.sql
将此命令添加到脚本文件中,然后将其存储在 WordPress root之外。
使脚本可执行,
chmod +x /path/to/yourscript.sh
以
打开您的个人crontabEDITOR=gedit crontab -e
并在其中附加以下行以每小时运行一次脚本。
0 */1 * * * /path/to/yourscript.sh