У меня есть 2 сервера в разных доменах. Я использую 3-й сервер для запуска пакетного скрипта. На всех серверах установлен Cygwin, поэтому я также использую команды оболочки Linux. Все серверы могут общаться друг с другом. Цель: скопировать папку с исходного сервера в место назначения. Поскольку в нем миллион файлов, я собираюсь использовать утилиту tar. Я могу запустить скрипт на 3-м сервере и создать файл 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%