我正在使用Drush 4.2,并尝试将文件从开发服务器rsync到我的本地计算机。我的aliases.drushrc.php位于我当地drupal安装的根目录中,其中包含以下内容:
$aliases['local'] = array(
'root' => '/Users/christian/Sites/site-root',
'path-aliases' => array(
'%files' => 'sites/default/files'
),
);
$aliases['dev'] = array(
'root' => '/var/www/vhosts/some-domain.com/subdomains/dev/httpdocs',
'remote-host' => 'some-domain.com',
'remote-user' => 'root',
'path-aliases' => array(
'%drush' => ' /var/tools/drush/drush',
'%files' => 'sites/default/files',
),
);
作为测试,我尝试从本地drupal root运行它:
drush rsync @dev:%files~ / Desktop / test /
我希望@dev:%文件扩展到远程文件路径,但我得到:
您将销毁/ Volumes / MacintoshHD / Users / christian / Desktop / test /中的数据并替换为@dev中的数据:/ Volumes / MacintoshHD / Users / christian / Sites / site-root /%files
有什么想法吗?
更新: 我还发现,当我尝试命令时:
drush dd @dev:%files
我得到了
目标' @dev:%文件'没找到。
更新2
我发现问题似乎来自aliases.drushrc.php文件的位置。我在我工作的网站的drupal根目录中拥有它。我发现,如果我把它移到〜/ .drush /那么一切都很完美。
我更喜欢将它置于源代码管理之下。我尝试将它放在sites / default /中,但它遇到了和以前一样的问题。我会将赏金奖励给任何告诉我将该文件放在何处的人,以便它在源控制的网站根目录下。
答案 0 :(得分:2)
您可以在drushrc.php配置文件中设置别名路径。
如果未设置此选项,则drush将搜索这些位置(按此顺序)以查找别名文件。
查看readme了解详情。
BTW:你的“本地”别名声明中缺少逗号。 将其修改为:
'%files'=>的网站/默认/文件',