Pular para o conteúdo
Skillpedia
Bancos de dados48 mil · #2715

database-backups

Ajuda seu agente a configurar cópias de segurança dos bancos de dados. Isso garante que os dados possam ser recuperados em caso de problemas.

O que ela faz

Esta ferramenta ajuda a criar cópias de segurança (backups) dos seus bancos de dados e a configurar como e quando essas cópias serão feitas. Ela também garante que você possa recuperar seus dados se algo der errado.

Quando usar

  • ✓Ao iniciar um novo banco de dados.
  • ✓Para automatizar cópias de segurança diárias ou horárias.
  • ✓Ao planejar a recuperação de desastres.

Exemplo do que pedir para a IA

“Configure backups automáticos para meu banco de dados PostgreSQL a cada hora e envie para o S3.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/database-backups/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/database-backups/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Ela usa ferramentas específicas para cada tipo de banco de dados (como pg_dump para PostgreSQL ou mysqldump para MySQL) para criar cópias. Essas cópias podem ser salvas localmente ou enviadas para um local seguro na nuvem, como o S3.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill database-backups

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/database-backups/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Backups de Banco de Dados

Implemente estratégias abrangentes e automatizadas de backup de banco de dados com procedimentos de recuperação testados.

Quando Usar

  • Você está implantando um novo banco de dados e precisa de um plano de backup desde o primeiro dia.
  • Você precisa automatizar backups noturnos ou horários para PostgreSQL, MySQL ou MongoDB.
  • Você deseja enviar backups para armazenamento de objetos compatível com S3 com políticas de retenção.
  • Você está construindo ou verificando runbooks de recuperação de desastres.

Pré-requisitos

  • Ferramentas de cliente de banco de dados instaladas (pg_dump, mysqldump, mongodump).
  • AWS CLI ou restic para armazenamento remoto.
  • cron ou timers systemd para agendamento.
  • Um bucket S3 (ou endpoint compatível com S3) para backups fora do local.

Tipos de Backup

Tipo Descrição Frequência Caso de Uso
Completo Cópia completa do banco de dados Semanal Base para restaurações
Incremental Alterações desde o último backup Diário Reduzir armazenamento e tempo
Log de transação / WAL Envio contínuo de logs Contínuo Recuperação em ponto no tempo (PITR)
Snapshot Snapshot no nível do armazenamento (EBS, ZFS) Diário Restaurações completas rápidas

Backups de PostgreSQL

Backup Lógico com pg_dump

#!/bin/bash
# pg_backup.sh — PostgreSQL logical backup
set -euo pipefail

DB_NAME="mydb"
DB_USER="backup_user"
DB_HOST="localhost"
BACKUP_DIR="/backups/postgres"
DATE=$(date +%Y%m%d_%H%M%S)
FILENAME="${BACKUP_DIR}/${DB_NAME}_${DATE}.dump"

mkdir -p "$BACKUP_DIR"

# Custom compressed format (recommended for selective restore)
pg_dump -h "$DB_HOST" -U "$DB_USER" -Fc -Z6 "$DB_NAME" > "$FILENAME"

echo "[$(date)] PostgreSQL backup complete: $FILENAME ($(du -h "$FILENAME" | cut -f1))"

Backup Físico com pg_basebackup

#!/bin/bash
# pg_basebackup.sh — PostgreSQL physical backup for PITR
set -euo pipefail

BACKUP_DIR="/backups/postgres/base_$(date +%Y%m%d)"
mkdir -p "$BACKUP_DIR"

pg_basebackup \
  -h localhost \
  -U replicator \
  -D "$BACKUP_DIR" \
  --wal-method=stream \
  --checkpoint=fast \
  --progress \
  --verbose

echo "[$(date)] Base backup complete: $BACKUP_DIR"

Restauração de PostgreSQL

# Restore from custom-format dump
pg_restore -h localhost -U myapp -d mydb --clean --if-exists /backups/postgres/mydb_20250115_020000.dump

# Restore a single table
pg_restore -h localhost -U myapp -d mydb -t orders /backups/postgres/mydb_20250115_020000.dump

# Restore from plain SQL
psql -h localhost -U myapp -d mydb < /backups/postgres/mydb_20250115.sql

Backups de MySQL

Backup Lógico com mysqldump

#!/bin/bash
# mysql_backup.sh — MySQL logical backup
set -euo pipefail

DB_NAME="mydb"
DB_USER="backup_user"
DB_PASS="${MYSQL_BACKUP_PASSWORD}"
BACKUP_DIR="/backups/mysql"
DATE=$(date +%Y%m%d_%H%M%S)
FILENAME="${BACKUP_DIR}/${DB_NAME}_${DATE}.sql.gz"

mkdir -p "$BACKUP_DIR"

mysqldump -u "$DB_USER" -p"$DB_PASS" \
  --single-transaction \
  --routines \
  --triggers \
  --events \
  "$DB_NAME" | gzip > "$FILENAME"

echo "[$(date)] MySQL backup complete: $FILENAME ($(du -h "$FILENAME" | cut -f1))"

Backup Físico com Percona XtraBackup

#!/bin/bash
# xtrabackup.sh — MySQL physical backup
set -euo pipefail

BACKUP_DIR="/backups/mysql/full_$(date +%Y%m%d)"

xtrabackup --backup \
  --user=backup_user \
  --password "$MYSQL_BACKUP_PASSWORD" # from your vault; never hardcode \
  --target-dir="$BACKUP_DIR"

xtrabackup --prepare --target-dir="$BACKUP_DIR"

echo "[$(date)] XtraBackup complete: $BACKUP_DIR"

Restauração de MySQL

# Restore from compressed mysqldump
gunzip < /backups/mysql/mydb_20250115_020000.sql.gz | mysql -u root -p mydb

# Restore from XtraBackup
sudo systemctl stop mysql
ls /var/lib/mysql/*  # verify this is the correct data dir first
sudo find /var/lib/mysql -mindepth 1 -delete  # empty the data dir; snapshots must exist (see Limitations)
xtrabackup --move-back --target-dir=/backups/mysql/full_20250115
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl start mysql

Backups de MongoDB

Backup Lógico com mongodump

#!/bin/bash
# mongo_backup.sh — MongoDB backup
set -euo pipefail

MONGO_URI="mongodb://backup_user:${MONGO_BACKUP_PASSWORD}@localhost:27017"
BACKUP_DIR="/backups/mongodb"
DATE=$(date +%Y%m%d_%H%M%S)
TARGET="${BACKUP_DIR}/${DATE}"

mkdir -p "$BACKUP_DIR"

# Full backup with compression
mongodump --uri="$MONGO_URI" --gzip --out="$TARGET"

echo "[$(date)] MongoDB backup complete: $TARGET"

Restauração de MongoDB

# Restaurar todos os bancos de dados

…
Perguntas frequentes

O que é um backup?

É uma cópia de segurança dos seus dados. Se você perder os dados originais, pode usar o backup para recuperá-los.

Por que preciso de backups?

Para proteger seus dados contra falhas de hardware, erros humanos, ataques cibernéticos ou desastres, garantindo que você possa restaurar suas informações.

O que é recuperação de desastres?

É o plano para restaurar seus sistemas e dados após um evento grave que cause interrupção ou perda de dados.

Detalhes

Descrição original do autor

Implement database backup strategies. Configure automated backups, retention, and recovery testing. Use when designing backup and recovery procedures.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2715
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas