Exclua acidentalmente / usr / share / * qual é a solução certa para os dados de backup?

2

Como?

Ao tentar criar um ambiente de chroot para alguns usuários, acabo usando

mount --rebind <path> <newPath>

Para permitir que usuários chrooted acessem algum comando útil (uma prática ruim, sim)

Depois de algumas discussões com um colega, mudei de idéia e decidi usar grupos para colocar uma lista negra em alguma pasta para usuários com chroot. Depois de fazer algum

umount <path>

Acabo fazendo um pequeno rm -rf. para limpar a última pasta

A pior ideia que já tive

Infelizmente eu esqueci de desmontar a pasta / usr / share e rm começar a deletar o arquivo neste diretório. Espero ter feito um rápido

Ctrl + C

Depois eu notei meus erros. Eu estava tipo "Legal, não há muito dano"

Eu estava realmente errado.

Todos os meus serviços (mysql; postregsql; java) não podem mais ser executados porque precisavam de dependências em / etc / alternatives Executando um

update-alternatives --force --all

Ajude-me um pouco, mas não ajude a iniciar o mysql. Eu perdi totalmente a fé em consertar isso, então eu gostaria de fazer um backup de cada arquivo de configurações e executar uma instalação limpa dos meus vps. Mas como você pensa

Eu não tenho backup de banco de dados

Eu sei que isso é realmente muito errado, por favor, me perdoe.

Minha pergunta

Agora vamos seguir em frente com a minha pergunta: existe uma maneira de restaurar a conexão PostreSQL e MySQL para fazer backup do banco de dados e salvá-lo para executar uma instalação limpa no meu VPS? Ou eu estou totalmente perdida?

Até agora eu tentei:

  • recriar soquete de banco de dados (não funciona realmente)
  • regerenar os arquivos de dados mysql e mover meus arquivos de blocos para a pasta (ajuda a executar o mysql, posso ver o banco de dados e a tabela usando SHOW DATABASES; e SHOW TABLES; mas não consigo acessá-los)

Notas

No futuro vou fazer backup, prometo

Atualização:

De acordo com o PostreSQL: link , há uma maneira de fazer backup do banco de dados usando o fs. Vou tentar isso

Obrigado por ter tempo para me ler, espero que você tenha e idéia.

    
por americium1997 24.01.2018 / 22:34

3 respostas

1

Para aqueles que se perguntam se existe uma solução, finalmente encontrei uma!

Primeiro, faço o download de gdrive um cliente de terminal do Google Drive.

Então eu fiz vários backup de todos os diretórios importantes (/ home, / etc / nginx, ...) E para o meu servidor MySQL e PostgreSQL eu fiz backup do seguinte diretório:

  • / var / lib / mysql < - para MySQL
  • /var/lib/postgresql/9.3/main < - para o PostgreSQL

Eu fiz o upload desse backup no meu Google Drive e reinstalei meu VPS

Finalmente eu reinstalei o servidor MySQL parou o daemon, backup original / var / lib / mysql e baixar do Google Drive meu antigo. E depois de um pouco de correção na permissão, o servidor foi iniciado! E voila meu banco de dados está de volta e funcional!

Eu não testei a reimportação de dados do PostgreSQL, mas acho que vai funcionar, vou tentar amanhã.

De qualquer forma, isso será uma boa lição para mim: não importa o quê, sempre faça backup!

Atualizar

Basta concluir a importação do meu despejo do PostgreSQL, nada foi perdido!

    
por 25.01.2018 / 00:41
2

Além de configurar backups diários / horários, é sempre bom fazer backup especificamente das pastas nas quais você está trabalhando antes de tocar em seu sistema, e essa regra se torna ainda mais importante se for um ambiente de produção.

No seu caso, eu olharia para o mysqldump e o equivalente do postgres.

    
por 25.01.2018 / 08:45
1

Geralmente você restaura a partir do backup, ou se os dados perdidos foram críticos, encontre um novo trabalho.

Geralmente, eu sugeriria usar um serviço de recuperação de dados, mas isso exigiria o desligamento imediato do dispositivo após o acidente. Também é muito caro e demorado.

    
por 24.01.2018 / 22:44