建置部落格的人最害怕的大概有兩個 — Blog 搬家跟資料庫毀損.

如果是用外面免費的 blog 空間, 最煩惱的就是要搬家了, 因為使用者無法進入資料庫, 也不知道資料庫的格式 (schema), 搬家只能用手工一篇一篇搬, 而且這種搬法會使得回應全部遺失, 很可惜, 像前一陣子 大中小圓 那裡搬家, 很辛苦. 如果你真的很強, 還有一個方式是用 RSS 把文章回應都弄出來, 再想辦法 “灌”到新系統… 可是外面的免費 blog 好像沒什麼方法灌, 想得到的只有 email post, 但也要那個系統有支援才行.

用 WordPress 或 Movable Type 之類的 blog 好一點, 可以用一些方法把資料庫 “倒” 出來, 復原時再整個 “灌” 回去就好了, 回應也都不會遺失. 且一般不同系統, 為了廣拉用戶, 都會提供不同系統之間資料庫的轉換, 所以基本上換系統也不是不可行. 只是一般用戶不懂 SQL 語法, 還是沒辦法作備份/還原.

weblogtoolscollection.com 那裡 有一個 WordPress 備份的解決方案–Backup Plugin for Wordpress 1.5 (又稱One-Click Backup for WP 1.5), 它是一個 plugin, 已經出來有一陣子了, 不是什麼新鮮的但是還是報給用 WordPress 的同好知道. 依說明裝上 plugin, activate 之後, 管理畫面會多一個選項 Backup/Restore :

裡面有一個按鍵:

按下去,幾秒鐘就好了, 好快 :clap:, 包含了所有的文章,回應,分類等等. 備份的檔案是 “日月年wordpress.sql”, 例如 26052005wordpress.sql

因為我是在 local 作, 所以其他的 “download” “Backup WordPress Files” 都不用也沒試過, 只要把整個 WordPress 目錄(含那個 .sql) 用 winzip 或 winrar 壓縮然後 copy 到別的地方保存起來就完成了.

Restore 倒是有些問題, 按上面那個 “Restore Database” button 不 work, 是不是 Win32 系統的緣故? unix 的系統也許不會有問題. 不過, 只要用下面一行命令就可以了, 不用擔心.
mysql -u用戶名 -p密碼 -f 資料庫名稱 < 檔名
例如
mysql -uroot -pxxx -f wpblog < 26052005wordpress.sql

經過驗證,中文沒問題.

PS. 如果按 Backup/Restore 時有問題, 把 backuprestore.php 第 13 行
add_menu_page('Backup/Restore', 'Backup/Restore', 9, dirname(__FILE__) . '/backuprestoreAdmin.php');
改成
add_menu_page('Backup/Restore', 'Backup/Restore', 9, '/backuprestoreAdmin.php');

UPDATE — 2/11/2007

上面這個 plugin 已經沒有維護了,另一個備份的 plugin 是
For 1.x
For 2.1版
2.0.x版內建就是這個版本,但2.1又拿掉了.