Drivers
BackupAlly suporta múltiplos drivers para diferentes fontes de dados.
Visão Geral
| Driver | Tipo | Protocolo | Status |
|---|---|---|---|
| MySQL | Database | MySQL Protocol | Disponível |
| PostgreSQL | Database | PG Protocol | Disponível |
| MongoDB | Database | Wire Protocol | Disponível |
| ClickHouse | Database | HTTP/Native | Disponível |
| SQLite | Database | Embedded | Disponível |
| Fileset | Files | Filesystem | Disponível |
| Docker | Container | Docker API | Disponível |
Por que Drivers Nativos?
BackupAlly usa drivers nativos em Rust ao invés de ferramentas CLI externas:
| Aspecto | CLI Externa | Driver Nativo |
|---|---|---|
| Performance | Overhead de processo | Conexão direta |
| Segurança | Credenciais em argumentos | Credenciais em memória |
| Erros | Parse de output texto | Tratamento estruturado |
| Dependências | Requer mysqldump, pg_dump | Nenhuma externa |
MySQL
Backup nativo via protocolo MySQL.
Configuração
[target]
kind = "database"
driver = "mysql"
host = "localhost"
port = 3306
database = "*"
user = "${secret:mysql_user}"
password = "${secret:mysql_password}"
excludes = ["mysql", "performance_schema", "information_schema"]
single_transaction = true
lock_tables = falseOpções
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
database |
string | - | Nome do banco ou * para todos |
excludes |
array | [] | Bancos a excluir |
single_transaction |
bool | true | Transação consistente (InnoDB) |
lock_tables |
bool | false | Lock durante backup |
charset |
string | utf8mb4 | Charset da conexão |
Requisitos
Usuário precisa de permissões:
- SELECT em todas as tabelas
- SHOW DATABASES
- LOCK TABLES (se lock_tables=true)
PostgreSQL
Backup nativo via protocolo PostgreSQL.
Configuração
[target]
kind = "database"
driver = "postgres"
host = "localhost"
port = 5432
database = "myapp"
user = "${secret:pg_user}"
password = "${secret:pg_password}"
dump_globals = true
clean_dump = trueOpções
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
database |
string | - | Nome do banco |
dump_globals |
bool | false | Incluir roles e tablespaces |
clean_dump |
bool | false | DROP antes de CREATE |
schema_only |
bool | false | Apenas schema, sem dados |
data_only |
bool | false | Apenas dados |
Requisitos
Usuário precisa de permissões:
- SELECT em todas as tabelas
- pg_read_all_data (PostgreSQL 14+) ou superuser
MongoDB
Backup nativo via Wire Protocol.
Configuração
[target]
kind = "database"
driver = "mongodb"
uri = "mongodb://localhost:27017"
database = "*"
oplog = true
gzip = trueOpções
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
uri |
string | - | Connection string |
database |
string | - | Nome do banco ou * |
oplog |
bool | false | Point-in-time recovery |
gzip |
bool | true | Comprimir durante export |
excludes |
array | [] | Collections a excluir |
Requisitos
Usuário precisa de roles:
- backup
- readAnyDatabase (para
*)
ClickHouse
Backup nativo via HTTP ou Native protocol.
Configuração
[target]
kind = "database"
driver = "clickhouse"
host = "localhost"
port = 9000
database = "analytics"
user = "${secret:ch_user}"
password = "${secret:ch_password}"
format = "Native"
use_partitions = trueOpções
| Opção | Tipo | Padrão | Descrição |
|---|---|---|---|
database |
string | - | Nome do banco |
format |
string | Native | Native, CSV, Parquet, JSONEachRow |
use_partitions |
bool | true | Backup por partição |
tables |
array | [] | Tabelas específicas (vazio = todas) |
Formatos
| Formato | Uso |
|---|---|
| Native | Mais rápido, ClickHouse-to-ClickHouse |
| CSV | Compatibilidade universal |
| Parquet | Data lakes, analytics |
| JSONEachRow | Debug, inspeção |
SQLite
Backup de arquivos SQLite.
Configuração
[target]
kind = "database"
driver = "sqlite"
path = "/var/lib/app/database.db"Opções
| Opção | Tipo | Descrição |
|---|---|---|
path |
string | Caminho do arquivo .db |
vacuum |
bool | VACUUM antes do backup |
Fileset
Backup de arquivos e diretórios.
Configuração
[target]
kind = "fileset"
includes = ["/var/www/html", "/etc/nginx"]
excludes = ["**/.git", "**/node_modules", "**/*.log"]Opções
| Opção | Tipo | Descrição |
|---|---|---|
includes |
array | Caminhos a incluir |
excludes |
array | Padrões glob a excluir |
follow_symlinks |
bool | Seguir links simbólicos |
one_filesystem |
bool | Não cruzar filesystems |
Padrões Glob
| Padrão | Significado |
|---|---|
* |
Qualquer nome de arquivo |
** |
Qualquer subdiretório |
*.log |
Arquivos .log |
**/cache/* |
Qualquer cache em subdiretórios |
Docker
Backup de volumes Docker.
Configuração
[target]
kind = "docker"
volume = "myapp_data"
container = "myapp"
stop_container = falseOpções
| Opção | Tipo | Descrição |
|---|---|---|
volume |
string | Nome do volume |
container |
string | Container que usa o volume |
stop_container |
bool | Parar container durante backup |
excludes |
array | Padrões a excluir |
By Borlot.com.br on 11/02/2026