Como faço para fazer backup de um diretório não vazio e preservar metadados como permissões / arquivo de propriedade / grupo de usuários foi modificado?

3

Eu usei rsync para criar uma cópia de backup:

bash-3.2$ rsync -tvrog /export/home/kent/Scripts /export/home/kent/TEST_Scripts_rsync

Com estas opções:

Options:
      -v, --verbose               increase verbosity
      -r, --recursive             recurse into directories
      -o, --owner                 preserve owner (super-user only)
      -g, --group                 preserve group

Observe o conteúdo do diretório de origem:

bash-3.2$ cd /export/home/kent/Scripts
bash-3.2$ ls -l
total 170
-rw-r--r--   1 kent   kent        74 Feb  5 07:10 1.sh
drwxr-xr-x   2 kent   kent         2 Jun 17 06:21 456
-rwxrwxrwx   1 kent   kent       355 Feb  5 07:10 App_recreate.msh
...

Destino:

bash-3.2$ cd TEST_Scripts_rsync/Scripts/
bash-3.2$ ls -l
total 168
-rw-r--r--   1 kent   kent        74 Feb  5 07:10 1.sh
drwxr-xr-x   2 kent   kent         2 Jun 17 06:21 456
-rwxr-xr-x   1 kent   kent       355 Feb  5 07:10 App_recreate.msh
...

Observe que as permissões foram alteradas para App_recreate.msh . Então, existe uma maneira de preservar as permissões pelo menos se não preservar a data da última modificação?

Note que percorri todos os diretórios de / para /export/home/kent/ , mas não consegui encontrar um bit que pudesse ser responsável por mascarar as permissões.

Nota:

  • Uma vez feito isso, talvez eu tenha que fazer um backup incremental usando o rsync - então eu acho que simplesmente tarar os arquivos não seria de muita ajuda.
por Kent Pawar 21.06.2013 / 19:21

1 resposta

6

Adicione a opção --perm (ou -p ). As manpages são suas amigas.

    
por 21.06.2013 / 19:31