none
Copia de arquivos linux para Windows 2k8 RRS feed

  • Pergunta

  • Senhores boa tarde.

    possuo um servidor de notas fiscais (linux) e mensalmente eu devo fazer coletar algumas pastas que estao neste servidor e copiar para um servidor windows, no server linux as pastas que eu preciso copiar tem o seguinte padrão 2013-06-06 (como os dias do mês), eu preciso copiar os arquivos deste servidor linux para o windows.

    Usando o PSFTP eu consegui logar no servidor linux eu coloquei os seguintes comandos dentro da primeira BAT:

    d:

    cd pasta

    psftp -C -P PORTA -pw senha user@servidor -b comando_a_serem_Executados.bat

    Dentro da bat eu coloquei estes comandos.

    cd /notas/xml/unidade/xml_notas

    bom eu parei por ai poderiam me ajudar?


    "Na Paz prepare-se para Guerra." http://twitter.com/fausto_ncc1701

    sexta-feira, 7 de junho de 2013 17:25

Respostas

  • Prezado, tenho uma sugestão.

    Talvez se fosse realizado o inverso poderia ser melhor. LINUX --> WINDOWS.

    Para isto, se você utilizar Windows 2008 pode habilitar através do server manager a feature Services for Network File System Tools (NFS)

    O NFS é um sistema de compartilhamento que é suportado no linux e o Windows possui o client.

    Siga os seguintes passos:

    1- Instale a seguinte feature Services for Network File System Tools

    2- Selecione a pasta que deseja compartilhar

    3 - Em propriedades desta pasta clique na guia NFS Sharing e em Manage NFS Sharing

    4-  Deixe marcado as seguintes opções:

    4.1 - Share this folder

    4.2- Em Share Name digite o nome do compartilhamento desejado

    4.3- Encoding mantenha ANSI

    4.4- Habilite todos os check-boxes

    5- Em permissions, deixe na seguinte configuração: ALL MACHINES READ-WRITE ANSI Root Access Allowed

    Finalizada estas configurações você poderá mapear esta pasta no seu servidor linux e efetuar a copia diretamente para o servidor windows

    Espero ter ajudado. 

    Att

    Wladimir Silva. 

    • Sugerido como Resposta Luiz Mercante terça-feira, 18 de junho de 2013 15:16
    • Marcado como Resposta Fábio JrModerator quarta-feira, 19 de junho de 2013 14:39
    terça-feira, 18 de junho de 2013 15:15

Todas as Respostas

  • Fausto,

    Já leu o manual do PSFTP? Poderia passar o link com o manual que vc leu?

    Pelo que vi os comandos utilizados pelo psftp são parecidos com do FTP, este tipo de transferência seria mais fácil (ao menos pra mim), se você conseguisse acessar os arquivos via SAMBA, então a partir do Windows você conseguria usar facilmente .BAT, .VBS, .PS1, etc...


    Fábio de Paula Junior

    sexta-feira, 7 de junho de 2013 20:17
    Moderador
  • Fabio

    O psftp é uma ferramenta para SFTP (linux) os comandos são iguais. Com relação a este compartilhamento via samba não é possivel devido a restrições na minha rede.

    Eu quero apenas copiar algumas pastas do FTP com tenham esta estrutura de nomes exemplo 2013-06-06 ou 2013-04-07 apenas isso acredito que eu devo criar uma variavel com o nome do arquivo %nome_do_arquivo% e copiar para o meu servidor windows a minha dificuldade é como fazer isso.

    segue do link do manual:

    http://tartarus.org/~simon/putty-snapshots/htmldoc/Chapter6.html


    "Na Paz prepare-se para Guerra." http://twitter.com/fausto_ncc1701

    sexta-feira, 7 de junho de 2013 23:00
  • Pelo que vi no manual os comandos realmente não são os usados em .BAT são de FTP.

    O que vc pode tentar fazer é (tudo no windows)

    1. Criar o diretório de destino: Ex.: md C:\temp\2013-06-06

    2. Acessar o diretórir criado: cd c:\temp\2012-06-06

    3.executar o psftp, pode usar o arquivo de script (que não são comandos .bat, são comandos ftp)

    psftp -C -P PORTA -pw senha user@servidor -b script.scr

    conteudo de script.scr

    cd 2013-06-06
    mget -r *

    A idéias do CD é cair dentro da pasta onde estão os arquivos a serem copiados e o mget vai iniciar a cópia.

    Conteúdo do script .bat que vc vai executar no Windows

    md C:\temp\2013-06-06
    cd c:\temp\2012-06-06
    psftp -C -P PORTA -pw senha user@servidor -b script.scr

    O arquivo script.scr deve ser melhor avaliado por você, veja se o comando cd está suficiente e se o mget funciona. Com estes comandos os arquivos serão copiados para o diretório que vc está no windows.


    Fábio de Paula Junior


    sábado, 8 de junho de 2013 02:23
    Moderador
  • Obrigado Fabio

    Mais a questão é um pouco mais complicada imagine que a minha aplicação ela gera pastas de acordo com os dias do mês 2013-06-06 2013-06-07 2013-06-08 e assim por diante.

    Eu preciso copiar todas essas pastas de uma vez da forma que você me sugere eu precisarei fazer uma lista bem longa contendo a pasta referente ao dia e ao mês, gostaria de uma forma de copia onde eu informasse apenas uma vez o nome dela e a copia será feita durante o tempo que for necessario sem a necessidade de ficar alterando o conteudo do arquivo.

    Outra pergunta porque você esta usando a extenção ".scr"?


    "Na Paz prepare-se para Guerra." http://twitter.com/fausto_ncc1701

    sábado, 8 de junho de 2013 21:46

  • Eu preciso copiar todas essas pastas de uma vez da forma que você me sugere eu precisarei fazer uma lista bem longa contendo a pasta referente ao dia e ao mês, gostaria de uma forma de copia onde eu informasse apenas uma vez o nome dela e a copia será feita durante o tempo que for necessario sem a necessidade de ficar alterando o conteudo do arquivo.

    Gere um arquivo que tenha todas as pastas que vc precise copiar exemplo

    2013-06-07
    2013-06-08
    2013-06-09

    No .bat que chama o psftp vc pode gerar dinamicamente cada um dos .scr para que vc consiga acessar estas pastas.

    Não consegui entender quais pastas vc quer copiar, me dê um exemplo prático: Se você for executar este script neste momento quais pastas deveriam ser copiadas?

    a) todas as pastas que estão lá (neste caso você poderia utilizar o próprio psftp para gerar um arquivo com um "dir" da pasta base, e depois leria cada linha deste arquivo e executaria o que eu disse: gerar o .scr para cada pasta.

    b)Só do último mês, do ultimo dia...?

    Outra pergunta porque você esta usando a extenção ".scr"?

    Era a extensão indicada na documentação, isto não faz a menor diferença, só não utilizaria extensões que indicam uma coisa que ele não é, por exemplo: .BAT.


    Fábio de Paula Junior

    segunda-feira, 10 de junho de 2013 01:18
    Moderador
  • Prezado, tenho uma sugestão.

    Talvez se fosse realizado o inverso poderia ser melhor. LINUX --> WINDOWS.

    Para isto, se você utilizar Windows 2008 pode habilitar através do server manager a feature Services for Network File System Tools (NFS)

    O NFS é um sistema de compartilhamento que é suportado no linux e o Windows possui o client.

    Siga os seguintes passos:

    1- Instale a seguinte feature Services for Network File System Tools

    2- Selecione a pasta que deseja compartilhar

    3 - Em propriedades desta pasta clique na guia NFS Sharing e em Manage NFS Sharing

    4-  Deixe marcado as seguintes opções:

    4.1 - Share this folder

    4.2- Em Share Name digite o nome do compartilhamento desejado

    4.3- Encoding mantenha ANSI

    4.4- Habilite todos os check-boxes

    5- Em permissions, deixe na seguinte configuração: ALL MACHINES READ-WRITE ANSI Root Access Allowed

    Finalizada estas configurações você poderá mapear esta pasta no seu servidor linux e efetuar a copia diretamente para o servidor windows

    Espero ter ajudado. 

    Att

    Wladimir Silva. 

    • Sugerido como Resposta Luiz Mercante terça-feira, 18 de junho de 2013 15:16
    • Marcado como Resposta Fábio JrModerator quarta-feira, 19 de junho de 2013 14:39
    terça-feira, 18 de junho de 2013 15:15