用Drush命令显示别名?


34

有没有drush显示现有别名的命令?一些谷歌搜索没有发现任何东西。


$ drush site-alias @self
monymirza

'drush sa @self --full --with-db --with-optional'将生成一个模板,您可以将其附加到〜/ .drush / aliases.drushrc.php以便进一步使用。不要忘记通过站点的唯一别名来更改表中的键“ self”。
Interdruper

Answers:


47

您可以在终端中使用它

drush sa

例如在我的开发服务器上:

- drush sa
@8080
@commons_3_dev
@none
@w2

别名在名为aliases.drushrc.php的文件中设置。对我来说,它位于/ usr / local / share / drush /中。根据安装Drush的方式以及所使用的发行版的不同,此设置可能有所不同。

您可以在该文件中以这种方式设置别名

$aliases['8080'] = array(
'uri'=>'server.com:8080',
'root'=>'/var/www/html_webtest2',
);

$aliases['w2'] = array(
'uri'=>'webtest2.server.com.edu',
'root'=>'/var/www/html_webtest2',
);

$aliases['commons_3_dev'] = array(
'uri'=>'yourserver.com/c3d7/',
'root'=>'/var/www/html_commons_3_dev',
);

为了获得更多乐趣,您可以将它们链接在一起以进行服务器范围的备份。例如,我对所有这样的别名网站都做了很大的备份

 drush sa | egrep "(@|default)" | egrep -v "(@none|@self) | xargs -L1 drush arb

单独服用

 drush sa  # list site aliases
 | egrep "(@|default)"  # include default and any line containing a @ mark
 | egrep -v "(@none|@self)" # remove any lines with @none or @self 
 | xargs -L1 drush arb # with each line run drush archive-backup

要查找路径和其他信息,请使用以下方法:

drush sa | xargs -I {}  sh -c "echo {}; drush {} st"

缩小范围以查找路径:

    drush sa | xargs -I {}  sh -c "echo {}; drush {} st" | egrep "(@|path)"
@8080
 Site path                     :  sites/8080.webtest2               
 File directory path           :  sites/8080.webtest2/files         
 Private file directory path   :  /var/www/drupal_private_files                   
@commons_3_dev
 Site path              :  sites/default                                          
 File directory path    :  sites/default/files                                    
@none
@w2
 Site path              :  sites/default                                          
 File directory path    :  sites/default/files 

更新

有点晚了,但我想说别忘了drush @sites st。我相信该@sites参数将对在sites文件夹下找到的所有内容起作用。认为

drush @sites cron -y # runs cron on each root/sites/site
drush @sites rf 

sa命令中知道这些站点映射到哪个文件系统路径也很方便:
user1359 2012年

1
尝试drush @alias st(状态)
Rick

是的,但是我不想单独检查每个别名以查看它是否是我要寻找的别名。我在一个多站点,多用户环境中处理大量别名。我想要的那个可能根本不存在!
user1359

4
试试这个:drush sa | xargs -I {} sh -c“ drush {} st”
Rick

1
通过管道和grep发挥创意。有时,最简单的bash命令串在一起会给您一些精彩的信息。
里克(Rick)2012年

2

如果您像我,您也想要所有细节...

尝试drush site-alias --table或快捷方式drush sa --table

检查GitHubdrush topic aliases更多信息。


我知道这是一个古老的话题,但是如果有人通过google登陆-参数不是--table而是drush sa --format=table。为了节省一些繁重的工作,您可以使用--fields和--field-labels = 0选项来保持简洁。
Dan Shumaker

@DanShumaker我几年来都没有从事过Drupal的工作。随时提供新的答案,我会投票给您。
Rob Colburn
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.