你在这里


Drush

Drupal网站用drush生成sitemap.xml以及通过drush.ini修改PHP内存限制

James Qi 2016年1月12日 - 10:51 发布

  我们做的Drupal网站数据量都比较大,几年前一开始就遇到cron运行报错的情况,主要就是因为cron运行期间要生成xmlsitemap,遇到php的内存限制或者运行时间限制导致出错无法正常执行,我们当时采取的办法是修改“Minimum sitemap lifetime(sitemap最小存在时间)”为10年(drush vset xmlsitemap_minimum_lifetime "315360000",并且还要修改modules/xmlsitemap/xmlsitemap.admin.inc中的内容,增加10年这个表单选项),这样10年内让cron碰不到需要重新生成sitemap的情况,从而来禁止cron运行期间生成xmlsitemap(具体见《Drupal网站中不让Cron自动更新Boost_Cache及XML_Sitemap》),这样修改后,cron就可以正常运行。

自由标签:

用Drush批量升级Drupal 6到Drupal 7

James Qi 2015年7月21日 - 17:00 发布

  我们是2010年底开始使用Drupal的,当时Drupal 7还没正式版,所以就用了Drupal 6,在2012年2月的时候就以本博客为例做过Drupal 6到Drupal 7的升级,虽然有些麻烦但好歹算是可以升级成功,而涉及到大数据量Drupal的站点升级却让我吃到苦头,后来新站都用Drupal 7搭建,而Drupal 6的一些网站也就继续停留在Drupal 6,只进行小版本升级,不敢轻易进行大版本的升级。

Drupal验证码Captcha模块批量设置

James Qi 2015年3月13日 - 10:59 发布

  我们在某些Drupal网站上安装了验证码Captcha模块后,发现依然有一些垃圾信息漏网发出,而我的这个博客安装验证码模块后这半年几乎都没遇到过垃圾信息了,对比发现我的博客网站中对验证码选用了图像方式,而且对图像进行了一些字符扭曲、添加噪点、添加斜线等变形,不容易被机器人自动识别,而新安装的Drupal网站中验证码模块基本上没有修改过,使用的图像也是白底无变形,容易被识别出来,需要进行修改加强保护。

  而多个系列网站的子网站数量太大,人工设置容易出错,以后也很不方便修改,还是得想办法程序批量修改,我还是用老办法,先在一个例子网站的数据库中找到两个相关的表:variable和captcha_points,需要对这两个表中的一些数据进行修改、添加操作,下面是我的办法:

1、对于variable表

  先在phpmyadmin中过滤列出与captcha相关的行:

SELECT * FROM `variable` WHERE `name` LIKE '%captcha%'

  执行结果:

为Drush添加Boost相关命令来批量清除缓存

James Qi 2013年1月31日 - 16:01 发布

  最近我们在对一些网站添加多语言以及修改自定义模块的工作中,需要对Boost缓存进行清除操作,逐个网站在菜单中清除需要很长时间,想到用Drush来批量处理系列网站,但Drush本身只能清除系统缓存,并不能处理Boost缓存,在网上找了些资料,找到了boost.drush.inc这个补丁可以解决,只需要在drupal/sites/all/modules/boost目录下新建这个文件,复制这些代码就可以了。

  为Drush添加了下面三个命令:

  • 'drush:boost-cache-clear-all':Clears all Boost cached data.
  • 'drush:boost-cache-clear-expired':Clears Boost expired data.
  • 'drush:boost-reset':Clears Boost's database and file cache.

 

批量修改Drupal系列网站的各种设置

James Qi 2012年10月22日 - 14:27 发布

  前一阵子在设置用Drupal搭建的系列网站时,因为子网站数量众多(上百个),不得不考虑使用批量设置的办法来进行初始设置及修改,否则逐个网站去点击鼠标进行设置的话,每个站点起码要点击几百次,总的鼠标点击次数要达到数万甚至更多,即使鼠标不崩溃的话,人恐怕也得崩溃了。

  用Drush是必然的选择,但实际设置中Drush也无法解决所有的问题,还综合使用了一些其它的办法,包括直接修改MySQL数据库,现在把一些典型的修改办法记录如下。

  首先要做的是做一个循环sh批处理程序,对需要设置的众多网站进行逐个处理,例如:

自由标签:

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

James Qi 2012年9月16日 - 00:06 发布

  以前升级Drupal网站都是按照规范的办法来:先备份、升级第三方模块、再升级核心、运行update、检查配置、复制需要的老文件等。今天用Drush来升级了本站(jamesqi.com)做实验,直接在服务器的本站目录中运行drush pm-update,然后按照屏幕提示回答几个yes就可以了,系统自动进行以下事项:

  • 检查和显示需要更新的第三方模块和核心模块;
  • 询问是否继续升级,回答yes后,升级第三方模块,保存备份文件到/root/drush-backups/目录中;
  • 询问是否升级核心,回答yes后,升级核心,并保持备份文件到/root/drush-backups/目录中;
  • 清理所有缓存,并运行update.php,进行数据库的更新,结束。

  检查了升级后的网站,又进行了几项修改:

Drush:批量处理Drupal操作的神器

James Qi 2012年9月11日 - 17:13 发布

  以前就知道Drupal有个名为Drush的Shell工具,但没有用过,最近需要对好多个Drupal网站进行一些初始设置,人工操作web上的菜单会非常费时费力。上周去花了些时间安装调试那个Drush工具,简直是神器啊,设置的效率起码提高几十上百倍!

  Drush除了一些与Drupal核心模块配合的功能以外,还可以与一些第三方模块配合,例如与Language配合的添加语言功能、与Xmlsitemap配合的生成站点地图功能等,确实非常有用,某些情况下可节约大量操作时间,周末这两天就在服务器上运行一些通过l10n进行的翻译更新,下周将在更多服务器上安装Drush。

  参考网站:

  实际使用的时候,可以把经常需要进行的操作(例如清理缓存等)做成.sh的批处理命令,直接运行就可以。


2013年3月6日补充安装办法:

先安装PEAR:

自由标签:

订阅 RSS - Drush