Como restaurar permissões com o BackInTime / rsync?

3

Aparentemente BackInTime , que usa o rsync, não apenas restaura as permissões ao restaurar os arquivos, mas também os salva separadamente aos dados. É possível restaurar permissões de diretórios / arquivos específicos apenas? Não quero restaurar nenhum arquivo, mas restaurar apenas os arquivos de permissões anteriores.

Isso é possível de alguma forma?
Se não a melhor maneira, provavelmente, criar uma lista de alterações de permissões, comparando os arquivos para o backup e fazê-lo manualmente (questão relacionada).

Estou usando o Debian 9.1 com o KDE.

    
por mYnDstrEAm 29.08.2017 / 12:26

2 respostas

5

O GNU chmod pode ter um arquivo de referência:

--reference=RFILE
use RFILE's mode instead of MODE values

Se a estrutura de pastas das suas costas permanecer a mesma, você poderá fazer algo como:

cd /path/to/backup
find . -exec chmod --reference={} --changes /source/of/{} \;

/source/of é o caminho do qual o backup foi feito.

Agora você pode usar os testes de find para operar somente nos arquivos / diretórios desejados.

Como você diz que usa rsync , acho que a estrutura de diretórios deve ser mantida, e deve ser possível montar o sistema remoto localmente usando SSHFS, etc., portanto, em princípio, isso deve funcionar.

    
por 29.08.2017 / 13:10
3

Podemos obter a lista de arquivos com as permissões alteradas por rsync -ani

rsync -ani newFile new/ | awk {'print $2'}

então podemos passar a saída para chmod e usar a saída para o arquivo de referência do backup para o arquivo original, onde as permissões foram alteradas:

rsync -ani newFile new/ | awk {'print $2'} | xargs -I@ chmod --reference=new/@ @

Eu tentei reproduzir a instância criando um arquivo e fiz o rsync em um novo diretório, depois mudei as permissões do arquivo original:

[pijain@kuliza370 testing]$ ll
total 0
drwxrwxr-x. 2 pijain pijain 21 Aug 29 16:56 new
-rwxrwxrwx. 1 pijain pijain  0 Aug 29 16:56 newFile(origial file with 777)
[pijain@kuliza370 testing]$ ll new
total 0
-rw-rw-r--. 1 pijain pijain 0 Aug 29 16:56 newFile(backup with 644)
    
por 29.08.2017 / 13:35