Copiar dados mantidos por www-data sobre ssh

1

Eu tenho um servidor apache (máquina # 1) segurando um banco de dados que eu quero rsync distante (o servidor é realmente owncloud, para aqueles que sabem). Meus dados são mantidos pelo servidor e seus direitos são rwx ------ www-data: www-data ou assim.

Agora eu tenho outra máquina distante (máquina # 2) que eu gostaria de usar para fazer o backup do banco de dados da primeira máquina. A máquina nº 2 executará o rsync sobre o ssh e por meio de um cron job. Não tenho certeza de qual conta usar para fazer login na máquina 1 via ssh.

  • Eu entendo que as únicas duas contas que podem ler / copiar o banco de dados na máquina 1 são www-data e root. Como não consigo logar como www-data (esta é uma conta do sistema e não sei a senha), isso significa que eu preciso logar como root via ssh?
  • Isso é possível? Isso é seguro?
  • Outra forma seria criar outra conta, adicioná-la ao grupo www-data e fornecer os direitos de leitura do grupo de dados www.
  • Infelizmente isso não é possível, pois é o servidor (owncloud) e não eu que dá os direitos de acesso ao banco de dados, e os direitos concedidos não permitem que o grupo www-data leia os arquivos (pelo menos não em todos arquivos): veja rwx ------

Não sei como organizar as contas e os direitos de modo a poder rsync distante. Alguma idéia?

Obrigado,

Antoine.

    
por arennuit 04.08.2014 / 14:48

1 resposta

0

Eu rodaria mysqldump periodicamente na máquina # 1; isso te dá um arquivo grande. Este arquivo pode então ser transferido para a máquina 2 usando o rsync (com compactação, pois ele conterá apenas texto ASCII, instruções SQL realmente) sem se preocupar com as permissões do banco de dados. Na máquina 2, o arquivo de despejo é ilegível para qualquer pessoa, exceto o proprietário. E como o seu banco de dados no # 1 pode ser alcançado a partir de uma máquina local, você pode até fazer o mysqldump localmente, o que é útil para testar o procedimento.

Se algo der errado na máquina 1, você precisará recarregar o banco de dados do último arquivo de despejo bom. Basicamente, esse é um comando de uma linha que apaga todo o banco de dados e o carrega do arquivo de despejo. Os procedimentos de backup e restauro estão bem documentados e descritos, e. aqui e mais dicas e truques podem ser encontrados em googling mysqldump .

O uso dessa ferramenta padrão será muito mais seguro e direto do que tentar transferir os arquivos de dados por conta própria.

    
por Jos 04.08.2014 / 22:54