当前位置

用Drush升级了本站(jamesqi.com)

James Qi 在 2012年9月16日 - 00:06 提交
内容摘要:以前升级Drupal网站都是按照规范的办法来:先备份、升级第三方模块、再升级核心、运行update、检查配置、复制需要的老文件等。今天用Drush来升级了本站(jamesqi.com)做实验,直接在服......

  以前升级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就可以。

评论

-- 发自IP地址: 58.48.155.178 (位置 | 谁是)

步骤:

  1. 备份:cd htdocs; cp -rpa jamesqi.com /backup;
  2. 升级:cd jamesqi.com; drush pm-update;
  3. 修改:
    • .htaccess
    • robots.txt
    • includes/common.inc
    • includes/database/mysql/schema.inc
    • sites/all/modules/transliteration/data
    • sites/all/modules/xmlsitemap/xmlsitemap.pages.inc
  4. 系列:cd sites/ruanhanli.com; drush updatedb;
  5. 检查
  6. 结束

还比较顺利。

James Qi / 祁劲松

-- 发自IP地址: 58.48.27.73 (位置 | 谁是)

如果不想升级全部模块,也可以升级核心模块以及个别第三方模块。

单独升级核心模块的命令: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)

James Qi / 祁劲松