Copiar arquivos do OpenShift para seu PC
OpenShift é uma plataforma do tipo PaaS que permite a desenvolvedores de diversas linguagens de programação hospedarem suas aplicações, sites, blogs, etc, utilizando o conceito de hospedagem nas nuvens. Tempos atrás eu precisei analisar os arquivos de log do servidor Tomcat no OpenShift. Para isso, é preciso acessar a plataforma via SSH e Git. Já dentro dos domínios OpenShift e no diretório onde os logs do Tomcat ficam armazenados, você pode abrir estes logs através do Editor Vi do Linux.
Particularmente eu não gosto de analisar arquivos usando o Editor Vi, eu prefiro copiar os arquivos para meu computador pessoal e abri-los em um editor de texto como o Notepad. Porém, para fazer isso eu precisei descobrir como copiar os arquivos de log, ou qualquer outro arquivo, para meu computador pessoal via o console Git.
Passos a excetuar
O primeiro passo é acessar via Git e SSH o seu domínio do OpenShift. Para isso, você deve usar o comando fornecido pelo OpenShift após ter criado sua aplicação na plataforma, algo semelhante a isso:
$ ssh 52619801e0b8cd5a350000d8@test-mballem.rhcloud.com
Após executar o comando acima, será necessário entrar com sua senha de gerenciamento do Github. Feito isso, você estará dentro dos domínios OpenShift. Antes de copiar os arquivos de log para seu PC, é necessário saber que o OpenShift libera apenas um diretório no qual você pode enviar ou receber arquivos neste ambiente. O diretório é:
> app-root/data/
Sendo assim, será necessário primeiro copiar os arquivos de log do Tomcat para o diretório em questão. Acesse o diretório de logs para verificar os arquivos contidos lá. Para isso, use os comandos:
> cd jbossews/logs/ > ls
Vamos agora copiar os arquivos do tipo .log e enviá-los para o diretório app-root/data:
> cp *.log ~/app-root/data
Para confirmar se os arquivos estão mesmo lá, execute os comandos:
> cd ~/app-root/data > ls
Ok, você conferiu e os arquivos foram copiados para o diretório app-root/data. Agora, para enviar estes arquivos para seu computador pessoal, você deve sair do ambiente OpenShift, usando o comando:
> exit
Fora do ambiente OpenShift, mas ainda no console Git, use o seguinte comando para copiar os arquivos de log para sua máquina:
$ scp 525c4bcde0b8cdec0b0000a9@test-mballem.rhcloud.com:~/app-root/data/*.log /c/download
Note que o comando ssh foi substituído pelo scp. Neste processo, meu computador pessoal possui um Windows como sistema operacional, então copiei os arquivos de logs para o diretório c:download. Preste atenção em como foi escrito no comando acima, o diretório para onde os arquivos serão copiados, e alguns segundos depois seus arquivos estarão no diretório de destino.
Caso queira realizar o processo inverso, copiando arquivos do Windows para o OpenShift, o comando a ser usado passa a ser o descrito no exemplo a baixo:
$ scp /c/download/*.json 525c4bcde0b8cdec0b0000a9@test-mballem.rhcloud.com:~/app-root/data/