我在不同的域中有 2 台服务器。我使用第三台服务器来运行批处理脚本。所有服务器都安装了 cygwin,因此我也使用 Linux shell 命令。所有服务器都可以互相通信。目标:将文件夹从源服务器复制到目标服务器。由于它包含一百万个文件,所以我将使用 tar 实用程序。我能够在第三台服务器上运行脚本并从源文件夹创建一个 tar 文件,将其复制到目标文件夹并取消标记。它工作正常......除了目标服务器上的文件夹和文件无法打开,因为我出现错误:拒绝访问。我发现文件没有“读取”权限。如果我在文件上运行 chmod a+r *,它工作正常。注意:我在所有服务器上都使用同一个用户。我怎样才能保留对文件的“读取”访问权限?我稍后会附上我的批处理:
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%