rsync não está definindo o UID e o GID corretos nos arquivos de destino

0

Estou testando se uso as opções corretas em rsync , pois desejo copiar uma grande quantidade de arquivos do meu antigo servidor para o novo servidor, mantendo as permissões exatas.

No servidor antigo, o arquivo existe assim:

$ ll -n
total 0
-rw-r--r-- 1 1002 1000 0 Jan  9 22:56 testfile

Então eu uso rsync para copiar o arquivo assim:

$ rsync -e ssh -avP . 10.10.10.254:/home/someuser/test
Enter passphrase for key 'newserver.key':
sending incremental file list
./
testfile
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)

sent 125 bytes  received 34 bytes  28.91 bytes/sec
total size is 0  speedup is 0.00

No novo servidor, não há usuário com ID 1002 e nenhum usuário com o mesmo nome. O arquivo é criado assim:

$ ll -n
total 0
-rw-r--r-- 1 10001 10001 0 Jan  9 23:56 testfile

Gostaria de saber por que o arquivo não é criado com o ID 1002 1000, pois a opção -a (archive) inclui -o (proprietário), -g (group) e -p (permissões) e página man diz

If a user or group has no name on the source system or it has no match on the destination system, then the numeric ID from the source system is used instead.

Mesmo se eu adicionar manualmente a opção --numeric-ids (que eu realmente não quero), o resultado é apenas

$ ll -n
total 0
-rw-r--r-- 1 10001 1000 0 Jan  9 23:56 testfile

, por isso manteve apenas o GID, não o UID

    
por Thomas Weller 10.01.2016 / 01:43

1 resposta

0

rsync deve ser executado com root privileges na máquina de destino.

Opção 1: habilite o login do SSH para o usuário root e, em seguida, especifique root@<IP> para efetuar login.

Opção 2: use rsync com sudo como descrito nesta questão .

    
por Thomas Weller 10.01.2016 / 14:34