簡體   English   中英

wordpress數據庫的自動同步需要更新它

[英]Auto sync of a wordpress database requires updating it

我已經構建了一個執行以下操作的自動同步腳本:

  1. 清理當前位置
  2. 復制動態文件,例如上傳
  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可以告訴我我可能做錯了什么? 是否存在要更新或清除的緩存。

安裝的插件列表:

  1. 一些與之無關的自定義內部插件
  2. 推薦自定義字段
  3. 重力形式
  4. Justin Tadlock的成員
  5. Joost de Valk的WordPress SEO
  6. WPML多語言CMS
  7. WPML字符串翻譯

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

祝你們好運

WordPress使用Transients APIwp_options表中緩存大量信息。 清除緩存可能會解決一些問題。

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

正如MightyE所說, sed命令不適用於許多插件使用的任何序列化數據。 對於所有數據庫表,我不確定這是一種簡單的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM