CLI Functions

De Wiki Expresso V3
Ir para: navegação, pesquisa

Conteúdo

Introdução

Funções CLI(Command Line Interface), são funções executadas em linha de comando PHP, visando execuções de rotinas batch pelo administrador.

Funções de manutenção do setup(setup.php)

Executa tarefas de administração, como por exemplo, executar o setup para instalar ou desinstalar uma aplicação.

Normalmente estas rotinas de setup são utilizadas quando há necessidade de instalação automatizada a aplicação.

Por exemplo, em ambientes que tenham que ser montados com frequência, como ambientes relacionados a integração contínua onde a cada teste deva-se executar uma instância da aplicação.

Também podem ser úteis em casos de oferta de serviços em nuvem, quando os ambientes são criados automaticamente em função de dados cadastrados pelos usuário contratante de serviço.

A sintaxe do comando é o seguinte:

setup.php [ options ]
--help|-h                         Display this help Message
--verbose|-v                      Output messages
--config|-c <string>              Path to config.inc.php file
--setconfig                       Update config. To specify the key and value, append ' -- configKey="your_key" configValue="your config value"'
                           Examples:
                           setup.php --setconfig -- configkey=sample1 configvalue=value11
                           setup.php --setconfig -- configkey=sample2 configvalue=arrayKey1:Value1,arrayKey2:value2
                          
--check_requirements              Check if all requirements are met to install and run tine20
--create_admin                    Create new admin user (or reactivate if already exists)
--install [ <string> ]            Install applications [All] or comma separated list; To specify the login name and login password of the admin user that is created during installation, append ' -- adminLoginName="admin" adminPassword="password"' To add imap or smtp settings, append (for example) ' -- imap="host:mail.example.org,port:143,dbmail_host:localhost" smtp="ssl:tls"'
--update [ <string> ]             Update applications [All] or comma separated list
--uninstall [ <string> ]          Uninstall application [All] or comma separated list
--list [ <string> ]               List installed applications
--sync_accounts_from_ldap         Import user and groups from ldap
--dbmailldap                      Only usable with sync_accounts_from_ldap. Fetches dbmail email user data from LDAP.
--sync_passwords_from_ldap        Synchronize user passwords from ldap
--egw14import                     Import user and groups from egw14
                           Examples: 
                           setup.php --egw14import /path/to/config.ini
--apply_customizations            Apply customizations from Setup plugins (dependent of Task #14296)
--toggle_multidomain              Toggles multidomain
--multidomain_status              Get if multidomain is enabled or not
--set_default_domain [ <string> ] Set default domain. This domain is used to install
--create_new_domain [ <string> ]  Create a new domain. This command creates a new domain folder and a config file with default values.
                         Examples:
                          setup.php --create_new_domain <new_domain> <opts>
 

Exemplos

1. Criação de um novo domínio vazio:

 php setup.php --create_new_domain linux.org.br accounts=backend:ldap authentication=backend:ldap

2. Definição do domínio padrão para instalação:

 php setup.php --set_default_domain linux.org.br

3. Instalação do expresso com os arquivos de configuração previamente preenchidos:

 php setup.php --install "Tinebase,Admin,Addressbook" -- adminLoginName=admin adminPassword=senha

4. Instalação do expresso com os arquivos de configuração previamente preenchidos:

 php setup.php --install "Tinebase,Admin,Addressbook,Calendar" -- acceptedTermsVersion=1 
 accounts=backend:ldap,host=ldap.org.br,port:389,username:cn=admin,dc=linux,dc=org,dc=br,password:senha

Neste caso, as opções passadas por parâmetro serão sobrescritas nos arquivos de configuração.

5. Instalação do expresso com os arquivos de configuração preenchidos somente com o banco de dados:

 php setup.php --install "Tinebase,Admin,Addressbook,Expressomail" authentication=backend:ldap,host:ldap.org.br,.... 
 accounts=backend:ldap,host:ldap.org.br,.... imap=host:mail.org.br,port:143... smtp=host:mail.org.br,port:25,...

As configurações não estão completas nos exemplos. Para verificar todas as opções possíveis, crie um domínio novo informando os backends de autenticação e contas, como no exemplo 1, e verifique as opções no arquivo de configuração do domínio.


PS: Um bom exemplo de utilização da CLI de setup pode ser visto no Script de Instalação do Expresso

Funções de manutenção da Aplicação(tine20.php)

Executa tarefas relacionadas a algum módulo, como por exemplo, importar ou exportar um calendário. Estas execuções são normalmente relacionadas a ou usuário/módulo/metodo.

A sintaxe do comando é o seguinte:

 tine20.php [ options ]
 --help|-h               Display this help Message
 --verbose|-v            Output messages
 --config|-c <string>    Path to config.inc.php file
 --dry|-d                Dry run - don't change anything
 --info|-i               Get usage description of method
 --method <string>       Method to call [required]
 --username <string>     Username [required]
 --password <string>     Password
 --passwordfile <string> Name of file that contains password

 


Exemplos

1. Importando para Agenda

php tine20.php --method=Calendar.import --username=me -v plugin=Calendar_Import_Ical importContainerId=362 /path/to/Feiertage_DE.ics

2. Importando para Calendário

php tine20.php --method=Addressbook.import --username=me -v definition=adb_tine_import_csv /path/to/contacts.csv

3. Monitorando banco de dados

php tine20.php --method=Tinebase.monitoringCheckDB


Para mais informações consulte o próprio código ou o link:
https://www.tine20.org/wiki/index.php/CLI_Functions
Ferramentas pessoais
Espaços nominais

Variantes
Ações
Navegação
Ferramentas