Como restaurar o arquivo do backup do rsnapshot com as permissões corretas

0

Instalei uma nova versão do Debian. Gostaria de restaurar alguns arquivos em home com minha versão de backup, bem como alguns sob etc . O backup foi criado com o rsnapshot.

O ponto que não é tão claro para mim é como o usuário deve executar o comando restore. Deixe-me fazer um exemplo. Suponha que eu gostaria de restaurar meu arquivo rsnapshot dentro de /etc/cron.d/ . Por padrão, vejo a seguinte permissão correta na nova versão instalada:

station:~$ ls -l /etc/cron.d/rsnapshot 
-rw-r--r-- 1 root root 472 Mar 26  2016 /etc/cron.d/rsnapshot

Neste caso, preciso executar o comando rsync como root ou sudo, ou seja, eu estava fazendo testes:

@thinkstation:~$ rsync /media/3985DAA24356D774/rsnapshot/station/daily.0/etc/etc/cron.d/rsnapshot /etc/cron.d/rTest

Mas isso leva às seguintes permissões:

station:~$ ls -l /etc/cron.d/rTest 
-rwxr-xr-x 1 root root 513 Sep 24 19:01 /etc/cron.d/rTest

e isso não corresponde ao padrão do sistema.

Outro exemplo, que é mais frustrante. Eu estava executando o comando rsync como usuário normal (não raiz, não sudo). Os arquivos que eu restaurei foram um projeto que é controlado pela versão via git. Eu fiz a restauração porque nem todos os arquivos estavam no github. Após a restauração eu vi muita diferença por causa da permissão alterada (que eu não entendo como os arquivos não envolveram nenhum direito do sudo e foram transferidos para o meu diretório home ). Portanto, não tenho certeza se cometi um erro no passado enquanto fazia o backup ou se estou fazendo algo errado ao restaurar os arquivos. Em qualquer caso, gostaria de saber como posso resolver esse problema.

    
por math 23.09.2017 / 15:57

1 resposta

0

Você precisa dizer a rsync que deseja restaurar as permissões. A julgar pelo man 1 rsync eu proporia as seguintes opções para restaurar um único arquivo:

-p, --perms                 preserve permissions
-t, --times                 preserve modification times
-o, --owner                 preserve owner (super-user only)
-g, --group                 preserve group

O -a frequentemente proposto para restaurar coisas de backups baseados em rsync inclui mais opções que você não precisa para um único arquivo. Então, seu comando ficaria assim:

rsync -ptog /media/3985DAA24356D774/rsnapshot/station/daily.0/etc/etc/cron.d/rsnapshot /etc/cron.d/rTest

Ou com opções longas:

rsync --perms --times --owner --group /media/3985DAA24356D774/rsnapshot/station/daily.0/etc/etc/cron.d/rsnapshot /etc/cron.d/rTest

Como você especifica --owner e --group , isso deve funcionar em ambos os seus casos de uso.

Se você quiser restaurar um diretório recursivamente, não apenas um único arquivo, você pode achar útil essa opção -a , talvez em combinação com -v , que informa o que foi copiado:

-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
-v, --verbose               increase verbosity
    
por 13.06.2018 / 16:55

Tags