首页 文章

wordpress数据库的自动同步需要更新它

提问于
浏览
3

我已经构建了一个执行以下操作的自动同步脚本:

  • 清理当前位置

  • 复制动态文件,例如上传

  • 从目标备份数据库,做一些替换并恢复它

真正的脚本如下:

echo Updating via SVN
export LC_ALL=fr_CA.UTF-8
svn up

echo Cleaning up the image and temp folder
rm -Rf wp-content/uploads/*

echo Copying files from production version
cp -R ../public_html/wp-content/uploads/* wp-content/uploads/

echo Importing wordpress database
mysqldump -u xxxyyyzzz --password=xxxyyyzzz xxxyyyzzz_db --skip-opt --add-drop-table --default-character-set=utf8 > temp.sql
sed 's/www.domain.com/preprod.domain.com/g' temp.sql > temp2.sql
mysql -u xxxyyyzzz --password=xxxyyyzzz xxxyyyzzz_preprod_db < temp2.sql
rm temp.sql
rm temp2.sql

echo Complete

除了一个小问题,这里的代码工作正常 . 当我在同步两个项目(PROD> PREPROD)之后从wordpress加载WP-ADMIN时,我怀疑它会在PROD> STAGE和PROD> DEV时执行相同的操作,管理控制面板会向我发送“你是”数据库已过期,我们现在将升级它“当我浏览我同步的网站前端时,许多perma链接在数据库中失败 .

那里有没有wordpress guru可以告诉我我可能做错了什么?是否存在要更新或清除的缓存 .

安装的插件列表:

  • 一些与之无关的自定义内部插件

  • 推荐自定义字段

  • 重力形式

  • Justin Tadlock成员
    由Joost de Valk撰写的

  • WordPress SEO

  • WPML多语种CMS

  • WPML字符串翻译

我希望有人知道......

祝你们好运

1 回答

  • 1

    WordPress使用Transients APIwp_options 表中缓存大量信息 . 清除缓存可能会解决一些问题 .

    DELETE FROM 'wp_options' WHERE 'option_name' LIKE '_transient_%'
    

    正如MightyE所说, sed 命令赢得了't work on any serialized data, which many plugins use. I' m并不确定所有数据库表的简单方法 .

相关问题