使用 WP 自動更新一直失敗,所以最好的方法就是自己來,啊因為用 diff 做 patch,在 js/css 檔時都會爛掉,所以直接 cp 比較方便。
因為我都會留之前的 .zip 檔,所以直接以上一個更新的 WP zip (wordpress 3.1)來做比對更新。
首先任選一個最新(newest)日期的檔案,這裡選的是 wordpress-3.1/wp-admin/includes/class-wp-upgrader.php ,接著我就在 3.1.1 的 WP zip 中,找比這個檔還新的,就是要用來更新的檔案囉。
這就是第一步:
% find . -type f -newer ../wordpress-3.1/wp-admin/includes/class-wp-upgrader.php
接著就要用 sed 替換掉目錄,下面的第一個 ‘-e p’ 是印出目前檔名,再下一個就是將 prefix 目錄名換到要更新的目錄名:
sed -e p -e ‘s/^./../blog/’
接著就是用 xargs -n2 cp ,將 sed 生出的第一個參數 cp 到第二個。
最後如下:
% find . -type f -newer ../wordpress-3.1/wp-admin/includes/class-wp-upgrader.php | sed -e p -e ‘s/^./../blog/’ | xargs -n2 cp
sed -e p -e ‘s/^./../blog/’
這樣寫不對吧… delimeter / 會和 path 裡的 / 搞錯
至少改成 sed -e p -e ‘s|^.|../blog|’ 吧 ?
被 wp 吃掉了 :p