Quero executar o rsync para copiar arquivos de pastas locais do Mac para uma unidade de rede corporativa. Para acessar a unidade de rede, preciso montá-la usando credenciais diferentes da minha conta de usuário local.
Como posso dizer ao meu script bash (que executa alguns rsyncs diferentes) para ser executado como outro usuário (meu usuário da rede corporativa) para evitar erros proibidos (13)
failed: Permission denied (13)
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-45/rsync/main.c(992)
EDITAR:
Ok, então criei e montei um compartilhamento em ~/smb/pfimp/ - posso ler os arquivos perfeitamente e ele criará pastas no servidor de arquivos, mas não poderá copiar os arquivos reais.
Alguma outra sugestão? obrigado
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]
Responder1
Você pode usar mount_afp
para realmente montar o compartilhamento em seu computador e depois usar rsync
(ou outro comando) para copiar seus arquivos para o compartilhamento.
Uso:
mount_afp afp://yourserver/yourshare/folder mountpoint
se você usar o protocolo smb, poderá usarmount_smbfs
vera página de manual do mount_afpeeste para mount_smbfs
EDITARrsync com a opção -a
tem o problema de tentar definir permissões, mas não consegue por causa do compartilhamento do samba. usando a -r
opção em vez de -a
alterar esse comportamento.