Ich möchte rsync ausführen, um Dateien aus lokalen Mac-Ordnern auf ein Firmennetzlaufwerk zu kopieren. Um auf das Netzlaufwerk zugreifen zu können, muss ich es mit anderen Anmeldeinformationen als meinem lokalen Benutzerkonto mounten.
Wie kann ich meinem Bash-Skript (das einige verschiedene Rsyncs ausführt) sagen, dass es als anderer Benutzer (mein Unternehmensnetzwerkbenutzer) ausgeführt werden soll, um verbotene (13) Fehler zu vermeiden?
failed: Permission denied (13)
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992)
BEARBEITEN:
Ok, ich habe also eine Freigabe unter ~/smb/pfimp/ erstellt und gemountet – ich kann die Dateien problemlos lesen und es werden Ordner auf dem Dateiserver erstellt, aber die eigentlichen Dateien können nicht kopiert werden.
Irgendwelche anderen Vorschläge? Danke
MAC:bin mylocaluser$ rsync -azP --exclude=.DS_Store ~/Documents/Work/Master/Scripts/demo/ ~/smb/pfimp/Scripts/demo
building file list ...
38 files to consider
./
external/
external/workflow.py
1225 100% 0.00kB/s 0:00:00 (xfer#1, to-check=35/38)
external/override/
external/override/before.py
3229 100% 3.08MB/s 0:00:00 (xfer#2, to-check=33/38)
rsync: mkstemp "/Users/mylocaluser/smb/pfimp/Scripts/demo/external/.workflow.py.sEm5kg" failed: Permission denied (13)
rsync: mkstemp "/Users/mylocaluser/smb/pfimp/Scripts/demo/external/override/.before.py.iKs9MS" failed: Permission denied (13)
sent 2811 bytes received 82 bytes 385.73 bytes/sec
total size is 31779 speedup is 10.98
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992) [sender=2.6.9]
Antwort1
Sie können mount_afp
die Freigabe tatsächlich auf Ihrem Computer mounten und anschließend rsync
(oder einen anderen Befehl) verwenden, um Ihre Dateien in die Freigabe zu kopieren.
Verwendung:
mount_afp afp://yourserver/yourshare/folder mountpoint
Wenn Sie das SMB-Protokoll verwenden, können Siemount_smbfs
sehendie Manpage von mount_afpUnddieses für mount_smbfs
BEARBEITENrsync mit dieser Option -a
hat das Problem, dass es versucht, Berechtigungen festzulegen, was jedoch aufgrund der Samba-Freigabe nicht möglich ist. Verwenden Sie -r
stattdessen die Option, um -a
dieses Verhalten zu ändern.