comando rsync não preservando permissões

0

rsync não está preservando permissões / propriedade após a transferência de arquivos. Aqui está o cenário

Host de origem ( 192.168.2.14 de onde os arquivos são copiados):

Caminho de origem

 # ls -l "/shareddata/tesz/"
 total 4
 drwxrwsr-x 2 root admin 4096 Sep 15 19:38 web

 # ls -l /shareddata/tesz/web/
 total 0
 -rw-rw-r-- 1 askar admin 0 Sep 15 19:38 test1 
 -rw-rw-r-- 1 dey   admin 0 Sep 15 19:38 test2

Caminho de destino:

 # ls -ld /shareddata/
 drwxrwxr-x. 4 root admin 4096 Sep 15 19:44 /shareddata/

O comando rsync que tentamos copiar os arquivos é. O script está sendo executado em fsync user

$ id fsync
uid=700(fsync) gid=502(admin) groups=502(admin)


/usr/bin/rsync -rogp 192.168.2.14:/shareddata/tesz /shareddata/
/usr/bin/rsync -av 192.168.2.14:/shareddata/tesz /shareddata/

Estamos executando o comando rsync do host de destino para o qual os arquivos são copiados. Mas podemos ver que as permissões / propriedade não são preservadas após a transferência de arquivos

$ ls -l /shareddata/
  total 8
       drwxrwsr-x 3 fsync admin 4096 Sep 15 19:44 tesz

 $ ls -l /shareddata/tesz/
 total 4
 drwxrwsr-x 2 fsync admin 4096 Sep 15 20:29 web

 $ ls -l /shareddata/tesz/web/
   total 0
   -rw-rw-r-- 1 fsync admin 0 Sep 15 20:29 test1
   -rw-rw-r-- 1 fsync admin 0 Sep 15 20:29 test2

Quais são as modificações necessárias no comando rsync para que as permissões sejam preservadas.

    
por Zama Ques 15.09.2015 / 12:38

1 resposta

2

Como mencionado nos comentários, o processo de rsync remoto precisa ser executado com privilégios de superusuário para poder preservar as permissões. Se você tem acesso sudo no servidor remoto, você pode usar a opção --rsync-path para executar o rsync como root:

rsync -av --rsync-path "sudo rsync" source/ server:/destination/
    
por 15.09.2015 / 15:36