Clipper On Line • Ver Tópico - Controlar o LOG criado pelo TIpClientFtp()

Controlar o LOG criado pelo TIpClientFtp()

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor clodoaldomonteiro » 07 Mai 2018 07:48

Bom dia a todos.

Tenho meus programas em xHarbour 1.0.0 e uso a função TIpClientFtp() para copiar arquivos de BKP gerados pelos meus sistemas.

Acontece que durante o processo do TIpClientFtp() é criado um arquivo ftp.log na última pasta que o usuário acessou pelo Windows Explorer e nesse arquivo ftp.log, é registrado todos os dados do processo, inclusive as senhas de acesso às pastas FTP.

Pergunto aos amigos se tem como eu configurar a função em questão para não gerar esse arquivo.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor rossine » 07 Mai 2018 08:05

Bom dia Clodoaldo,

TIpClientFtp():new( <cUrl>, [<lTrace>] ) --> oTIpClientFtp


Veja acima que movendo o lTrace para .F. deva funcionar. assim:

TIpClientFtp():new( <cUrl>, .F. ) --> oTIpClientFtp


<lTrace>
    This parameter defaults to .F. (false). When .T. (true) is passed, the communication with a mail server is logged into the file Ftp<nn>.log, where <nn> is the number of the log file storing information of the internet communictaion with this object.


Veja se resolve sua dúvida.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor lucimauro » 09 Mai 2018 23:16

Ola clodoaldo, depois poderia deixar um exemplo aqui de como se faz isso, para subir esses arquivos de backup para ftp. achei isso muito interessante.

Desde já agradeço.
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor clodoaldomonteiro » 10 Mai 2018 21:44

Muito Obrigado Rossine, era só isso mesmo.

Abraços.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor clodoaldomonteiro » 11 Mai 2018 09:51

Na Hora Lucimauro,
Segue rotina em modo console mesmo, que verifica numa tabela quais os BKPs precisam ser enviados para minha pasta de BKP no Servidor online.
   Local ms1:='123', ..., ms5:='xxx'
   LOCAL cUrl := "ftp://backup:"+ms1+ms2+ms3+ms4+ms5+"@seusite.net" //ms1 ... ms5 é a minha senha q está quebrada em várias partes, para evitar q numa descompilação ela venha a ser descoberta.

   Private mRetorno:=''

   Begin Sequence
      ? '-30 Montando Caminhos para os Backups'
      mPath:='c:\simplesinfo\scp15h\'

      If 'SCP' $ Upper(cPath)
         mPath := Left(cPath, 22)

      ElseIf 'SFP' $ Upper(cPath)
         mPath := Left(cPath, 10)

      Endif

      mDbf := mPath + 'tbk.dbf'

      If File( mDbf )
         Try
            ? '-31 Conectando … base de dados local do Backup'
            Use (mDbf) Alias TBK SHARED
         Catch
            ? '-32 [ERRO] Opera‡Æo falhou.'
         End
      Else
         ? '-33 [ERRO] Opera‡Æo falhou.'
         Break
      Endif

      ? '-34 Contando registros'
      Count To nCount For Empty( flag )

      If nCount > 0

         Set Filter To Empty( flag )

         Try
            ? '-35 Conectando ao servidor FTP.'
            oURL := TUrl():New( cURL )
            oFtp := TIpClientFtp():new( oUrl, .f. )
            oFTP:nConnTimeout := 20000
            oFTP:bUsePasv := .T.
         Catch
            ? '-36 [ERRO] ConexÆo ao Servidor falou.'
         End

         ? '-37 Abrindo pasta de Backup no Servidor.'

         // Testa usuario e senha
         /*IF At( "@", cUser ) > 0
            oFTP:oUrl:cServer   := cServer
            oFTP:oUrl:cUserID   := cUser
            oFTP:oUrl:cPassword := cPassword
         ENDIF
         */

         Go Top
         cc:=0
         Do While !Eof()

            mOrigem  := StrTran( tbk_arquiv, Alltrim(tbk_path), '')
            If Subs(mOrigem, 2, 2) <> ':\'
               mOrigem  := Alltrim(tbk_path) + AllTrim(mOrigem)
            Endif

            //mDestino := Alltrim(tbk_rota)+;
             // '/' + Alltrim(tbk_app)+;
             // '/A' + Alltrim(tbk_ano)+;
             // '/' + Alltrim(tbk_arquiv)

            mDestino := Alltrim(tbk_arquiv)
            mPos := At('BKP\', mDestino)
            If mPos > 0
               mDestino := SubStr(mDestino, mPos+4, 100)
            Endif

            If File( mOrigem )

               IF .NOT. oFtp:open( cUrl )
                  mRetorno := oFtp:lastErrorMessage() + CRLF
                  Go Top
                  If RLOCK()
                     Replace tbk_ntenta With tbk_ntenta+1
                     Replace tbk_retorn With mRetorno+tbk_retorn
                  Endif
                  DbUnlock()

                  ? '-38 [ERRO] A abertura da pasta backup falhou.'
                  ? '    Servidor FTP.....: '+oURL:cServer
                  IF oFTP:SocketCon == NIL
                     ? "    Connection not initialized"
                  ELSEIF inetErrorCode( oFTP:SocketCon ) == 0
                     ? "    Server response:", oFTP:cReply
                  ELSE
                     ? "    Error in connection:", inetErrorDesc( oFTP:SocketCon )
                  ENDIF

                  Break

               Else
                  ? '-39 Vamos copiar o arquivo: '+mDestino
                  ? '    Contador: ' + str(++cc)
                  //aFiles := oFtp:listFiles()

                  cRoot  := '/'
                  ? '    Raiz: '+cRoot

                  oFtp:cwd( cRoot )
                  mRetorno += oFtp:cReply + CRLF
                  ? '    Raiz: '+oFtp:cReply

                  oFtp:cwd( Alltrim(tbk_rota) )

                  If Left(oFtp:cReply, 1) ='5'

                     oFtp:mkd( Alltrim(tbk_rota) )
                     mRetorno += oFtp:cReply + CRLF

                     oFtp:cwd( Alltrim(tbk_rota) )
                     mRetorno += oFtp:cReply + CRLF
                  Else
                     mRetorno += oFtp:cReply + CRLF
                  Endif
                 
                  oFtp:cwd( Alltrim(tbk_app) )

                  If Left(oFtp:cReply, 1) ='5'
                     oFtp:mkd( Alltrim(tbk_app) )
                     mRetorno += oFtp:cReply + CRLF

                     oFtp:cwd( Alltrim(tbk_app) )
                     mRetorno += oFtp:cReply + CRLF
                  Else
                     mRetorno += oFtp:cReply + CRLF
                  Endif
                 
                  oFtp:cwd( 'A'+Alltrim(tbk_ano) )

                  If Left(oFtp:cReply, 1) ='5'
                     oFtp:mkd( 'A'+Alltrim(tbk_ano) )
                     mRetorno += oFtp:cReply + CRLF

                     oFtp:cwd( 'A'+Alltrim(tbk_ano) )
                     mRetorno += oFtp:cReply + CRLF
                  Else
                     mRetorno += oFtp:cReply + CRLF
                  Endif
                 
                  If Left(oFtp:cReply, 1) = '2'
                     oFtp:uploadFile( mOrigem, mDestino )
                     mRetorno += oFtp:cReply + CRLF
                     ? '    Arquivo copiado: ' + oFtp:cReply

                  Else
                     ? '    NÆo consegui acessar a pasta: ' + oFtp:cReply
                     ? mOrigem
                     ? mDestino
                     ? oFtp:cReply

                  Endif

                  If RLOCK()
                     Replace tbk_ntenta With tbk_ntenta+1
                     Replace tbk_retorn With mRetorno+tbk_retorn
                     If Left(oFtp:cReply, 1) = '2'
                        Replace flag       With oFtp:cReply
                     Endif
                  Endif

                  DbUnlock()

                  oFTP:Close()

               Endif

            Endif
            //? mOrigem
            //? mDestino
            //wait
            Skip

         Enddo
         /*oFtp:cwd( ".." )
         Dirlist( oFtp, aFiles, "" )
         oFtp:cwd( cRoot + "/newdir"  )

         ? oFtp:downloadFile( "testftp.prg" ), oFtp:cReply

         ? oFtp:dele( "testftp.exe" ), oFtp:cReply
         ? oFtp:dele( "testftp.prg" ), oFtp:cReply

         ? oFtp:cwd( ".." ), oFtp:cReply

         ? oFtp:rmd( "newdir" ), oFtp:cReply
         */

      Else
         ? '-40 Sem registos a copiar.'
      Endif

   End Sequence

   RETURN


Tem alguns comentários, pois as vezes tinha q depurar o código.
Anexos
Captura de Tela 2018-05-11 às 09.58.14.png
Tela FileZilla - pasta Backup
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor lucimauro » 11 Mai 2018 23:12

Obrigado por sua contribuição.
lucimauro
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 448
Data de registro: 21 Set 2004 21:02
Cidade/Estado: Sobral-CE
Curtiu: 15 vezes
Mens.Curtidas: 19 vezes

Controlar o LOG criado pelo TIpClientFtp()

Mensagempor clodoaldomonteiro » 05 Jun 2018 14:52

Poste aqui se deu certo e qq coisa vamos ajudando.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 741
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 110 vezes
Mens.Curtidas: 31 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro