Estou tentando baixar uma pasta com protocolo SCP usando o WinSCP excluindo algumas extensões comuns como .class .gif Por algum motivo, o WinSCP está me ignorando. Os arquivos ainda são baixados (embora descartados) ou são processados de alguma outra forma, o que leva tempo.
O que estou fazendo errado?
Foi assim que configurei o download:
Pequena parte do log de sessão do WinSCP:
> 2021-02-05 16:03:24.991 scp: error
< 2021-02-05 16:03:25.307 E
. 2021-02-05 16:03:25.307 Sending NULL.
< 2021-02-05 16:03:25.460 T1479214906 0 1612380313 0
. 2021-02-05 16:03:25.460 Sending NULL.
< 2021-02-05 16:03:25.591 C0644 5878 PrinterDetails_jsp.class
. 2021-02-05 16:03:25.591 File "/var/tomcat/tomcat001_xeroxPrinterApp/work/Catalina/xerox/xeroxPrinterApp/org/apache/jsp/WEB_002dINF/views/PrinterDetails_jsp.class" excluded from transfer
. 2021-02-05 16:03:25.591 Sending SCP error (1) to remote side:
> 2021-02-05 16:03:25.591 scp: error
< 2021-02-05 16:03:25.923 T1575667910 0 1612558660 0
. 2021-02-05 16:03:25.923 Sending NULL.
< 2021-02-05 16:03:26.060 D0755 0 plugin
. 2021-02-05 16:03:26.060 File: '/var/tomcat/tomcat001_xeroxPrinterApp/work/Catalina/xerox/xeroxPrinterApp/org/apache/jsp/WEB_002dINF/views' [2019-12-06T21:31:50.000Z] [0]
. 2021-02-05 16:03:26.060 Sending NULL.
< 2021-02-05 16:03:26.209 T1479214910 0 1575366742 0
. 2021-02-05 16:03:26.209 Sending NULL.
< 2021-02-05 16:03:26.345 C0644 8443 HeaderlessPage_jsp.java
. 2021-02-05 16:03:26.345 File: '/var/tomcat/tomcat001_xeroxPrinterApp/work/Catalina/xerox/xeroxPrinterApp/org/apache/jsp/WEB_002dINF/views/plugin' [2016-11-15T13:01:50.000Z] [8443]
. 2021-02-05 16:03:26.345 Sending NULL.
. 2021-02-05 16:03:26.345 Binary transfer mode selected.
. 2021-02-05 16:03:26.492 SCP remote side confirmation (0)
. 2021-02-05 16:03:26.492 Sending NULL.
. 2021-02-05 16:03:26.492 Preserving timestamp [2016-11-15T13:01:50.000Z]
. 2021-02-05 16:03:26.492 Transfer done: '/var/tomcat/tomcat001_xeroxPrinterApp/work/Catalina/xerox/xeroxPrinterApp/org/apache/jsp/WEB_002dINF/views/plugin/HeaderlessPage_jsp.java' => 'C:\temp\xeroxPrinterApp_UPGRADE\work\Catalina\xerox\xeroxPrinterApp\org\apache\jsp\WEB_002dINF\views\plugin\HeaderlessPage_jsp.java' [8443]
< 2021-02-05 16:03:26.645 T1479214910 0 1612380316 0
. 2021-02-05 16:03:26.645 Sending NULL.
< 2021-02-05 16:03:26.777 C0644 6876 HeaderlessPage_jsp.class
. 2021-02-05 16:03:26.777 File "/var/tomcat/tomcat001_xeroxPrinterApp/work/Catalina/xerox/xeroxPrinterApp/org/apache/jsp/WEB_002dINF/views/plugin/HeaderlessPage_jsp.class" excluded from transfer
. 2021-02-05 16:03:26.777 Sending SCP error (1) to remote side:
Parece que você assume que o WinSCP baixa todos os arquivos, mesmo os excluídos, e de alguma forma os descarta somente depois. Isso não.
Parece que sua suposição é baseada no fato de que o processamento dos arquivos excluídos leva algum tempo. É realmente possível com o protocolo SCP. O protocolo SCP funciona de maneira bem diferente do SFTP, FTP, WebDAV e similares, quando se trata de um download de pasta.
Com os outros protocolos, o cliente (WinSCP) busca uma lista de arquivos na pasta (que sendo uma operação em lote, é bastante eficaz, quando há muitos arquivos na pasta). E então escolhe os arquivos nos quais está interessado e solicita ao servidor esses arquivos. A exclusão dos arquivos é puramente uma computação local, então é quase instantânea.
Mas com o protocolo SCP, o download da pasta é controlado apenas pelo servidor. O servidor oferece os arquivos um por um, e o cliente tem que aceitar/rejeitar os arquivos interativamente. É uma espécie de diálogo. Especialmente se a latência para o servidor for grande, o diálogo pode ser demorado. Cada arquivo, mesmo os excluídos, levará algum tempo para processar, pois há uma troca de dados envolvida, ao processá-los.
Tente mudar para o protocolo SFTP. A maioria dos servidores que suportam SCP também suportam SFTP. Para o seu caso de uso, o SFTP deve ser mais eficiente.