A Interface de Linha de Comando (CLI)

Se você tiver acesso de terminal ao servidor que executa seu site, poderá usar a CLI do Joomla para realizar tarefas rotineiras sem a necessidade de usar as credenciais de acesso do Joomla. Mesmo sem acesso ao terminal, como em algumas contas de hospedagem compartilhada, você pode executar comandos da CLI usando tarefas cron. Os comandos da CLI costumam ser mais rápidos ou mais convenientes do que os equivalentes realizados por meio da interface do Administrador do Joomla (ou do cPanel). Fazer backup do site e colocá-lo on-line/off-line são exemplos de situações em que você pode preferir usar a CLI.

O núcleo do Joomla possui cerca de 30 comandos úteis e você pode adicionar mais com extensões adicionais. Por exemplo, você poderia buscar dados externos, como dados de Geolocalização ou de taxa de câmbio, para um componente personalizado.

Usando a CLI

A CLI é usada invocando o executável do php na linha de comando. Isso costuma ser diferente daquele usado por um servidor web como o Apache. Se você estiver usando uma tarefa cron, talvez seja necessário fornecer o caminho completo para o executável do php, assim:

/usr/local/bin/php /home/username/public_html/[optional subfolder]/cli/joomla.php

Caso contrário, ao usar a linha de comando do terminal, mude o diretório para o diretório cli do Joomla e comece a executar o comando sem parâmetros:

cd /home/username/public_html/[optional subfolder]/cli
php joomla.php

List of commands

E experimente alguns comandos de ajuda para se familiarizar com o que esperar:

php joomla.php help
php joomla.php list
php joomla.php help cache:clean
php joomla.php help config:get

Cada uma das descrições de ajuda e strings de uso estão codificadas nos arquivos da biblioteca Console ou em plugins de terceiros.

Experimente alguns comandos de ação simples:

php joomla.php config:get debug
php joomla.php cache:clean
php joomla.php site:down
php joomla.php site:up

Opções

Se você estiver chamando comandos a partir de um cron, talvez não queira ver nenhuma saída:

php joomla.php -q cache:clean

Observe que as opções podem usar um espaço ou o sinal =, mas as variáveis devem usar o sinal =:

php joomla.php session:gc --application administrator
php joomla.php session:gc --application=administrator

php joomla.php config:set debug=true

Comandos

Uma breve explicação de cada comando principal.

Cache

Limpar entradas expiradas do cache do sistema:

php joomla.php cache:clean --help
php joomla.php cache:clean

Output of cache clean

php joomla.php cache:clean expired

Output of cache clean expired

Config

Obter ou definir uma variável de configuração, uma das variáveis em configuration.php ou um grupo de variáveis. Os grupos válidos são db, session, mail,

php joomla.php config:get debug --help
php joomla.php config:get debug

Output of config get debug

php joomla.php config:set debug=true

Output of config set debug

php joomla.php config:get --group session

Output of config get group session

Core

Verificar atualizações ou atualizar o Joomla.

php joomla.php core:check-updates --help
php joomla.php core:check-updates

Output of core check updates

php joomla.php core:update --help
php joomla.php core:update

Output of cor update

Banco de dados

Exporte ou importe o banco de dados. Você pode exportar ou importar todas as tabelas ou uma tabela selecionada. Não use este recurso para importar todas as tabelas de um site multilíngue. Há um problema que pode impedir completamente o funcionamento da Busca Inteligente.

php joomla.php database:export --help
php joomla.php database:export --table f4rc2_banners --folder /home/username/tmp/mydb (one table)
php joomla.php database:export --folder /home/username/tmp/mydb (all tables)

php joomla.php database:import --help
php joomla.php database:import --table /home/username/tmp/mydb/f4rc2_banners (one table)
[ERROR] The /home/username/tmp/mydb/f4rc2_banners.xml file does not exist.
php joomla.php database:import --folder /home/username/tmp/mydb (all tables in this folder)

Extensão

Liste, descubra, instale ou remova extensões.

php joomla.php extension:list --help
php joomla.php extension:list
php joomla.php extension:list --type component
php joomla.php extension:list --type file
php joomla.php extension:list --type language
php joomla.php extension:list --type library
php joomla.php extension:list --type module
php joomla.php extension:list --type package
php joomla.php extension:list --type plugin
php joomla.php extension:list --type template

php joomla.php extension:discover --help
php joomla.php extension:discover
php joomla.php extension:discover:list
php joomla.php extension:discover:install --eid=

php joomla.php extension:install --help
php joomla.php extension:install --path=
php joomla.php extension:install --url=

php joomla.php extension:remove --help
php joomla.php extension:remove

Localizador

Limpa e reconstrói o índice (os filtros de busca são preservados).

php joomla.php finder:index --help
php joomla.php finder:index
php joomla.php finder:index purge

Output of finder index purge

Agendador

Liste, altere o estado ou execute tarefas agendadas.

php joomla.php scheduler:list --help
php joomla.php scheduler:list

php joomla.php scheduler:state --help
php joomla.php scheduler:state (interactive prompt for task id)

php joomla.php scheduler:run --help
php joomla.php scheduler:run --id ID
php joomla.php scheduler:run --all

Sessão

Execute a coleta de lixo da sessão.

php joomla.php session:gc --help
php joomla.php session:gc
php joomla.php session:gc --application administrator

php joomla.php session:metadata:gc --help
php joomla.php session:metadata:gc

Site

Coloca o site offline ou online.

php joomla.php site:down --help
php joomla.php site:down

php joomla.php site:up --help
php joomla.php site:up

Atualização

Verifica se há atualizações de extensões pendentes. Remove arquivos antigos que deveriam ter sido excluídos durante uma atualização do Joomla

php joomla.php update:extensions:check --help
php joomla.php update:extensions:check

php joomla.php update:joomla:remove-old-files --help
php joomla.php update:joomla:remove-old-files

Output of update joomla remove old files

Usuário

Liste e gerencie usuários.

php joomla.php user:list --help
php joomla.php user:list

php joomla.php user:add --help
php joomla.php user:add --username cinderella --name Cinderella --email cinders@localhost --usergroup Manager (solicita a senha)
php joomla.php user:add (solicita os dados)

Output of user add with prompts

php joomla.php user:addtogroup --help
php joomla.php user:addtogroup (solicita os dados)
php joomla.php user:addtogroup --usernam=cinderella --group=Manager

php joomla.php user:removefromgroup --help
php joomla.php user:removefromgroup (solicita os dados)
php joomla.php user:removefromgroup --usernam=cinderella --group=Manager

php joomla.php user:reset-password --help
php joomla.php user:reset-password (solicita os dados)
php joomla.php user:reset-password --username=cinderella (solicita a senha)

php joomla.php user:delete --help
php joomla.php user:delete (solicita o nome de usuário)
php joomla.php user:delete --username=cinderella (solicita confirmação - y para confirmar)