Erhalten Sie die Leseberechtigung mit den Befehlen 'tar' und 'copy'

336
susik

Ich habe 2 Server in verschiedenen Domänen. Ich benutze den dritten Server, um das Batch-Skript auszuführen. Auf allen Servern ist cygwin installiert, daher verwende ich auch Linux-Shellbefehle. Alle Server konnten miteinander sprechen. Das Ziel: Kopieren Sie einen Ordner vom Quellserver zum Ziel. Da es eine Million Dateien enthält, werde ich das tar-Dienstprogramm verwenden. Ich kann das Skript auf dem dritten Server ausführen und eine tar-Datei aus dem Quellordner erstellen, in den Zielordner kopieren und die Markierung aufheben. Es funktioniert gut ... außer dass Ordner und Dateien auf dem Zielserver nicht geöffnet werden können, da ich einen Fehler habe: Zugriff verweigert. Ich sehe, dass Dateien keine Leseberechtigung haben. Wenn ich chmod a + r * für Dateien ausführe, funktioniert es einwandfrei. Hinweis: Ich verwende auf allen Servern denselben Benutzer. Wie kann ich den Lesezugriff auf die Dateien beibehalten? Ich werde meine Charge später anhängen:

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% 
0
Haben die 3 Benutzer dieselbe SID? Sie können es von `mkpasswd | haben grep your_user | awk 'BEGIN ; '` matzeri vor 5 Jahren 0
Nun, ich habe überprüft, dass 2 Server, dh der Server, auf dem sich die Quelldateien befinden, und der Server, auf dem das Skript ausgeführt wird, denselben Benutzer mit derselben SID hat. Der Benutzer auf dem Zielserver, dh wo ich die tar-Datei öffne, wird in mkpasswd überhaupt nicht aufgeführt susik vor 5 Jahren 0
Ich denke, dass ich Benutzer zum Zielserver hinzufügen muss, da mkpasswd es nicht auflistet. Könnte jemand einen Hinweis geben, wie man den Benutzer in der Reihenfolge mkpasswd listet? Vielen Dank susik vor 5 Jahren 0

0 Antworten auf die Frage