Preservar a permissão 'read' usando os comandos 'tar' e 'copy'

0

Eu tenho 2 servidores em diferentes domínios. Eu uso o terceiro servidor para executar o script em lote. Todos os servidores têm o cygwin instalado, portanto, eu também uso os comandos shell do Linux. Todo servidor pode conversar entre si. O objetivo: copiar uma pasta do servidor de origem para o destino. Como tem um milhão de arquivos, eu vou usar o utilitário tar. Eu posso executar o script no terceiro servidor e criar um arquivo tar da pasta de origem, copiá-lo para a pasta de destino e desmarcá-lo. Ele funciona bem ... exceto pastas e arquivos no servidor de destino não podem ser abertos porque eu tenho um erro: acesso negado. Eu vejo que os arquivos não têm permissão de 'leitura'. Se eu executar o chmod a + r * nos arquivos, ele funciona bem. Nota: Eu uso o mesmo usuário em todos os servidores. Como eu poderia preservar o acesso de 'leitura' aos arquivos? Vou anexar meu lote mais tarde:

SET SRC1=\source-server\D$ 
 SET CMD1=pushd %SRC1% 
 SET SRC2=MyTar\ 
 SET SRC3=result.tar 
 SET CMD2=tar cfpz %SRC2%%SRC3% %SRC2% 
 SET DST1=\destination-server\D$ 
 SET CMD3=copy %SRC2%%SRC3% %DST1% /y 
 SET CMD4=pushd %DST1% 
 SET CMD5=tar xfpz %SRC3% 

 %CMD1% 
 %CMD2% 
 %CMD3% 
 %CMD4% 
 %CMD5%
    
por susik 05.07.2018 / 03:12

0 respostas