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