以前升級Drupal網站都是按照規範的辦法來:先備份、升級第三方模塊、再升級核心、運行update、檢查配置、複制需要的老文件等。今天用Drush來升級了本站(jamesqi.com)做實驗,直接在服務器的本站目錄中運行drush pm-update,然後按照屏幕提示回答幾個yes就可以了,系統自動進行以下事項:
- 檢查和顯示需要更新的第三方模塊和核心模塊;
- 詢問是否繼續升級,回答yes後,升級第三方模塊,保存備份文件到/root/drush-backups/目錄中;
- 詢問是否升級核心,回答yes後,升級核心,并保持備份文件到/root/drush-backups/目錄中;
- 清理所有緩存,并運行update.php,進行數據庫的更新,結束。
檢查了升級後的網站,又進行了幾項修改:
- boost cache模塊升級後,多了cache status block在右側,改為在左側;
- boost cache緩存目錄不可寫,修改所有者或者權限來解決;
- 老版本common.inc曾經有一個小的修改,在新版本中也修改;
- 老版本bartik中添加過add.css,在新版本中也添加;
- 老版本mobile中添加過add.css,修改過html.tpl.php、node.tpl.php等,同樣在新版本中添加、修改;
- xmlsitemap修改過其中文件,但這次升級不涉及到xmlsitemap的升級,所以不需要修改。
改進整個過程與手工升級的辦法差不太多,隻是這樣的批處理執行起來簡單一些,但那個備份工作把文件複制後文件日期都變了,還不如自己保持日期不變地進行複制,以便找出修改的文件。
補充:升級完成後别忘記了反複檢查各種頁面、各種情況,特别是以前修改過的地方,例如robots.txt、.htaccess、直接修改core和module中的程序等。
2013-3-7補充:如果是升級系列網站,第一個網站用drush pm-update (=pm-updatecode + updatedb),共用的code都升級了,後續網站隻需要運行drush updatedb就可以。
自由标簽
评论2
本站再次用Drush升級到7.21
步驟:
還比較順利。
單獨升級核心模塊的辦法
如果不想升級全部模塊,也可以升級核心模塊以及個别第三方模塊。
單獨升級核心模塊的命令:drush up drupal (或drush pm-update drupal)
單獨升級核心模塊代碼(不升級數據庫)的命令:drush upc drupal (或drush pm-updatecode drupal)
單獨升級某個第三方模塊(以views為例)的命令:drush up views (或drush pm-update views)
單獨升級某個第三方模塊代碼(以views為例)(不升級數據庫)的命令:drush upc views (或drush pm-updatecode views)