Published:
Compilação de comandos drush em ambiente multisite Permalink
Seleção de comandos drush usados para gerenciamento de centenas de sites em Drupal com core compartilhado, em especial no ambiente aegir. Compilados em conjunto com Augusto César Freire Santiago e Ricardo Fontoura.
Trocar senha do usuário admin para sua senha-secreta:
site='exemplo.com'
drush @$site user-password admin --password='senha-secreta'Listar temas desabilitados de um site:
drush @[site] pml --status=disabled --type=theme --pipeListar módulos desabilitados de um site:
site=exemplo.usp.br
drush @$site pml --status=disabled --type=module --pipeMesma listagem acima, mas com o resultado em uma única linha:
site=exemplo.usp.br
drush @$site pml --status=disabled --type=module --pipe | tr -s '\n' ' 'Verificar quais temas estão habilitados em todos sites *.exemplo.com:
for site in $(ls sites/ | grep exemplo.com);
do
echo $site;
drush @$site pml --status='enabled' --type='theme' --format=list;
doneDesinstalar o tema em todos os sites:
for site in $(ls sites/ | grep exemplo.com);
do
drush @$i pm-uninstall $tema -y;
doneMódulos que estão na plataforma p1 e não estão na p2:
diff p1/sites/all/modules/ p2/sites/all/modules/ | grep "Only in p1" | cut -d':' -f2Específicos para Drupal 7
Desinstalar todos os módulos desabilitados de todos os sites *.exemplo.com:
for site in $(ls sites/ | grep exemplo.com);
do
echo "Desabilitando módulos no $site";
modules=$(drush @$site pml --status=disabled --type=module --pipe | tr -s '\n' ' ');
drush @$site pmu $modules -y;
doneConfigurar usuário 1 com username admin:
site='exemplo.com'
drush @$site sql-query "update users set name='admin' where uid=1"Específicos para Drupal 8
Verificar se um tema específico está como default em algum site *.exemplo.com:
tema='adaptivetheme'
for site in $(ls sites/ | grep *.exemplo.com);
do
echo "Verificando $site";
drush @$site cget system.theme default | grep $tema;
doneApagar qualquer configuração referente a um módulo específico. Muito útil para quando a pasta do módulo foi removida e a ausência da mesma está quebrando o site. Por exemplo, vamos usar o webform:
site='exemplo'
for i in $(drush @$site cli | grep webform);do
drush @$site config-delete $i;
done
drush @$site cache-rebuildAtualizar banco de dados depois de atualização:
ls /sites/all/modules > /tmp/lista.txt
for i in $(cat /tmp/lista | grep fflch.usp.br); do drush updb -l http://$i -y; doneCriar lista de módulos que não são do core
drush pml --no-core --type=module --status="enabled" --pipe > /tmp/modules.txtListar módulos e temas desabilidados:
drush pm-list --no-core --status="disabled,not installed" --pipe -l http://modelod7.fflch.usp.brHabilitar módulos e temas desabilitados
drush en `drush pm-list --status="disabled,not installed" --pipe -l http://grafica.fflch.usp.br` -l http://grafica.fflch.usp.brEspecíficos para Aegir
Subir um site no aegir, dado um backup gerado pelo mesmo, compactador em tag.gz:
drush provision-save @backup.exemplo.org \
--context_type=site \
--platform=@platform_d8 \
--uri=backup.exemplo.org \
--aliases=www.backup.exemplo.org \
--db_server=@server_mysql \
--redirection=0 \
--profile=standard
drush @backup.exemplo.org provision-deploy backup.tar.gzMigração de todos sites da platform_d8a para platform_d8b:
cd platforms
sites=$(ls d8a/sites | grep fflch.usp.br)
for site in $sites;
do
drush @$site provision-migrate @platform_d8b
doneVerificando um site:
drush @hostmaster hosting-task @sti.fflch.usp.br verifyVerificando uma plataforma:
drush @hostmaster hosting-task @platform_drupal884a verify