...
Temos a possibilidade de acessar o database diretamente via psql, acessando os IPs disponibilizados no ambiente (helm file). Recomendo fazer este processo somente em último caso e que utilize o PSQL de dentro do pod do dbaccess.
Backup dos dados
Processo de backup dos ambiente ocorrerem todos os dias, a partir das 21 horas.
...
| Bloco de código |
|---|
# backup custom com compressão media + gzip ao final do backup
pg_dump postgres://$user:$pass@$DATABASE_ENDPOINT:$DATABASE_PORT/$user -Fc -Z6 --no-owner --no-acl --verbose --encoding $DATABASE_CODEPAGE | gzip > /backup/$BUCKET_NAME/$NAMESPACE/$remote_last |
Restore de dados
O processo de restore de dados dos ambientes do SmartERP e Sistêmico é realizado de forma automática, ou seja, quando o sistema verificar que não existe o banco de dados, ele irá fazer a criação dos usuários, do database, instalar as extensões e restaurar o último backup existente no bucket (database_latest.dump.gz).
...
| Expandir |
|---|
|
Para realizar o restore manual: - Temos que baixar o backup dentro do pod do dbaccess e descompactar o arquivo baixado (se for o caso);
- Dropar o banco de dados a ser restaurado, lembrando que temos que ter a exclusividade no banco de dados.;
- Criar o banco de dados manualmente, obedecendo o encoding do banco original do cliente;
- Criar a extensão uuid-ossp (Utilizando a senha de SU do postgres para o banco que acabou de criar);
- Executar o pg_restore no banco, solicitando para que ignore o owner e os tablespaces;
Criar a tabela de controle de restore do banco de dados :
| Bloco de código |
|---|
CREATE TABLE DUMP_OK (); |
Reiniciar o dbaccess.
Para ajudar no processo, desenvolvemos um bash para montar as sentenças a serem executadas:
| Informações |
|---|
É necessário ter: - Kubectl instalado com um kubconfig válido
- Ter o JQ instalado
|
| Bloco de código |
|---|
#!/bin/bash
set +ef
set +x
ccode=$1
type=$2
if [ "$ccode" = "" ]; then
echo "Required env variable ccode"
exit 0
fi
if [ "$type" = "" ]; then
type="producao"
fi
kubectl -n $ccode scale deploy -l base=true --replicas=1
dbaccess=$(kubectl -n $ccode get pod --no-headers | grep -i dbaccess | awk '{print $1}')
echo "kubectl -n $ccode exec -it $dbaccess -- bash"
endpoint=$(kubectl -n $ccode get configmap protheus-config -o json | jq -r .data.DATABASE_ENDPOINT)
password=$(kubectl -n $ccode get secrets protheus-secrets-db-master -o json | jq -r .data.DATABASE_PASSWORD | base64 -d)
user=$(kubectl -n $ccode get secrets protheus-secrets-db-master -o json | jq -r .data.DATABASE_USER | base64 -d)
echo "PGPASSWORD=$password psql -U $user -h $endpoint -d postgres -c "'"DROP DATABASE '$type';"'
echo "PGPASSWORD=$password psql -U $user -h $endpoint -d postgres -c "'"CREATE DATABASE '$type' WITH LC_COLLATE='"'C'"' LC_CTYPE='"'C'"' ENCODING='"'WIN1252'"' TEMPLATE=template0;"'
echo "PGPASSWORD=$password psql -U $user -h $endpoint -d $type -c 'CREATE EXTENSION IF NOT EXISTS \"uuid-ossp\";'"
echo "PGPASSWORD=$""DATABASE_PASSWORD_$type pg_restore -U $""DATABASE_USER_$type -h $""DATABASE_ENDPOINT -d $type --no-tablespaces --no-owner --no-acl --verbose < /tmp/"
echo "PGPASSWORD=$""DATABASE_PASSWORD_$type psql -U $""DATABASE_USER_$type -h $""DATABASE_ENDPOINT -d $type -c "CREATE TABLE DUMP_OK ();"
|
|
Política de Acesso aos dados
Com base na Lei Geral de Proteção de Dados Pessoais (Lei 13.709/2018) e Marco Civil da Internet (Lei 12.965/2014), a Política de Privacidade do Grupo TOTVS procura demonstrar o compromisso da companhia com a transparência com que trata os Dados Pessoais dos Titulares, assim como expressar seu comprometimento com a segurança nos serviços fornecidos. A Assistente LGPD Temos a assistente LGPD que tem como objetivo auxiliar os titulares dos dados, a fim de proteger, preservar e respeitar a privacidade. Clique aqui para acessar o conteúdo completo da Política de Privacidade TOTVS.
Atualmente as aplicações Smart estão divididas em 2 ambientes (DEV e PRODUÇÃO). Cada um desses ambiente possui um Banco de Dados que contém dados de uso do cliente. O acesso a esses dados é limitado, realizado através de ferramental homologado e disponibilizado pela TOTVS S.A. (garantir a integridade das informações).
Somente os clientes (Via ferramentas homologadas) e o time de SRE possuem acesso aos dados do clientesdos ambientes. Por exceção, com aval da diretoria e documentado, outras pessoas poderão acessar, desde que exista uma autorização do cliente para que os dados sejam acessíveis e todos os tratamentos referente a LGPD sejam executados. Caso ocorra a liberação, estas pessoas poderão acessar os dados somente pelas ferramentas homologadas TOTVS (ex. MPSDU), não havendo a possibilidade de acesso via programas externos.
| Aviso |
|---|
É proibida a exportação dos dados através de DUMP's e qualquer outra forma. É proíbido uso de dados de clientes em ambientes de DESENVOLVIDO DESENVOLVIMENTO INTERNO, desde que esses dados estejam devidamente anonimizados/mascarados e com autorização do cliente que originou os dados ou da gestão/diretoria da área. |
Buckets
| Deck of Cards |
|---|
|
| Card |
|---|
| Caso seja necessário restaurar o backup de alguma topologia específica é necessário entrar em contato com o pessoal responsável pelo Rubrik e informar o volume que foi gravado o backup (TKS_BKP_01 ou TKS_BKP_HMG_01) e a data que se deseja recuperar os arquivos. Para recuperar qualquer backup do volume TKS_BKP_HIST_GCP é necessário informar a data que o arquivo foi colocado no Rubrik (05/08/2020 ou 06/08/2020). TKS_BKP_01 Backups diários das topologias que estão no cluster de produção. TKS_BKP_HMG_01 Backups diários das topologias que estão no cluster do sistêmico. (Desativado) TKS_BKP_HIST_GCP Backups antigos que estavam no GCP e que foram gerados antes de migrarmos para o VCP. É possível localizar os arquivos de volume e database de cada topologia gerados entre setembro/2019 e maio/2020. ${topologia}-database-2019-09-30-01-01.tar.gz ${topologia}-database-2019-10-31-04-02.tar.gz ${topologia}-database-2019-11-30-04-00.tar.gz ${topologia}-database-2019-12-31-04-02.tar.gz ${topologia}-database-2020-01-31-04-04.tar.gz ${topologia}-database-2020-02-29-04-04.tar.gz ${topologia}-database-2020-03-31-22-01.tar.gz ${topologia}-database-2020-04-30-03-29.tar.gz ${topologia}-database-2020-05-30-21-14.tar.gz ${topologia}-volume-2019-09-30-01-04.tar.gz ${topologia}-volume-2019-10-31-04-08.tar.gz ${topologia}-volume-2019-11-30-05-03.tar.gz ${topologia}-volume-2019-12-31-05-09.tar.gz ${topologia}-volume-2020-01-31-05-09.tar.gz ${topologia}-volume-2020-02-29-04-08.tar.gz ${topologia}-volume-2020-03-31-22-11.tar.gz ${topologia}-volume-2020-04-30-03-33.tar.gz ${topologia}-volume-2020-05-30-21-17.tar.gz
| Aviso |
|---|
No dia 5 de agosto de 2020 está o snapshot com todas as topologias do cluster de produção, com exceção da cyuwnr/ e cyuwnr-development/ No dia 6 de agosto de 2020 está o snapshot com todas as topologias do cluster do sistêmico e do cluster de produção entrou a cyuwnr/ e cyuwnr-development/ |
|
| Card |
|---|
| Este bucket encontra-se Inativo no momento. |
|
...