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%
Tags permissions tar cygwin batch-file