StormDraft - Backup & Migration
Plugin de backup e migração profissional para WordPress - Similar ao UpdraftPlus com backups incrementais, múltiplos destinos e otimização de recursos
by Storm Animes · github.com/danilostorm/stormdraft · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/danilostorm/stormdraft/archive/refs/heads/main.zip🚀 StormDraft - Backup & Migration Plugin
Versão 2.0.0 - Plugin profissional de backup e migração para WordPress com recursos avançados de otimização e múltiplos destinos de armazenamento.
📂 Localização dos Backups
Os backups são salvos em:
wp-content/stormdraft/
Estrutura de Diretórios
wp-content/stormdraft/
├── .htaccess # Proteção de acesso
├── index.php # Proteção de listagem
├── 1-database-2026-01-23-221530.zip # Banco de dados
├── 1-plugins-2026-01-23-221530.zip # Plugins
├── 1-themes-2026-01-23-221530.zip # Temas
├── 1-uploads-2026-01-23-221530.zip # Uploads
├── temp/ # Arquivos temporários
│ └── index.php # Proteção
└── logs/ # Logs do plugin
├── index.php # Proteção
└── stormdraft-2026-01-23.log # Logs diários
🔒 Segurança
Arquivo .htaccess criado automaticamente:
# StormDraft Backup Protection
Order deny,allow
Deny from all
<FilesMatch "\.(zip|sql|log|txt|json)$">
Order deny,allow
Deny from all
</FilesMatch>
Benefícios desta localização:
- ✅ Fora da pasta
uploads(não interfere com mídia) - ✅ Fácil de localizar e gerenciar
- ✅ Proteção automática via
.htaccess - ✅ Pode ser facilmente excluído de outros backups
- ✅ Não afeta performance de upload de imagens
📋 Índice
- Características
- Instalação
- Funcionalidades
- Provedores de Armazenamento
- WP-CLI
- Multisite
- Migração Site-to-Site
- Configuração
- Recursos Avançados
✨ Características
🎯 Sistema de Backup
- ✅ Backups automáticos programáveis (6h, 12h, diário, semanal, mensal)
- ✅ Backups incrementais - economiza até 95% de recursos
- ✅ Divisão automática em múltiplos arquivos ZIP (500MB cada)
- ✅ Sistema de chunks - processa arquivos em blocos de 5MB
- ✅ Verificação de recursos - pausa se servidor sobrecarregado
- ✅ Backup de: Database, Plugins, Temas, Uploads, Tabelas customizadas
🔐 Segurança
- ✅ Criptografia AES-256 para banco de dados
- ✅ Checksums SHA-256 para integridade
- ✅ Proteção .htaccess nos diretórios
- ✅ Metadata completo (versões WP/PHP/MySQL)
☁️ Armazenamento Remoto (11 provedores)
- ✅ Local (servidor)
- ✅ Google Drive (implementado com upload resumable)
- ✅ Dropbox (implementado)
- ✅ Amazon S3 (implementado)
- ✅ FTP/SFTP
- ✅ Microsoft OneDrive
- ✅ Backblaze B2
- ✅ Google Cloud Storage
- ✅ Microsoft Azure
- ✅ pCloud
- ✅ WebDAV 🆕
🔄 Restauração
- ✅ Restauração completa ou seletiva
- ✅ Restauração de backups incrementais (cadeia completa)
- ✅ Backup de segurança automático antes de restaurar
- ✅ Importador de outros plugins:
- UpdraftPlus
- BackWPup
- Duplicator
- BackupWordPress
- All-in-One WP Migration
📥 Download de Backups Remotos 🆕
- ✅ Download completo de backups armazenados em provedores remotos
- ✅ Download direto para navegador
- ✅ Download e restauração automática
- ✅ Sincronização de backups remotos com banco local
⚙️ Otimização para Sites Grandes
- ✅ Processamento por chunks (5MB configurável)
- ✅ Divisão automática de arquivos grandes
- ✅ Verificação de carga CPU e memória
- ✅ Reset automático de timeout
- ✅ Processamento em lotes (DB: 1000 registros)
- ✅ Exclusão de arquivos desnecessários
🌐 Multisite Avançado 🆕
- ✅ Backup de toda a rede (todos os sites)
- ✅ Backup individual de sites específicos
- ✅ Restauração de site para outro site da rede
- ✅ Backup de tabelas de rede (users, blogs, sitemeta)
- ✅ Interface administrativa para redes multisite
- ✅ Dashboard de rede com estatísticas
🔄 Migração Site-to-Site 🆕
- ✅ Exportar site com chave de migração temporária (1 hora)
- ✅ Importar backup de outro site via REST API
- ✅ Transferência segura com autenticação
- ✅ Interface intuitiva de exportação/importação
- ✅ Cópia fácil de credenciais
📦 Backup de Arquivos Externos 🆕
- ✅ Adicionar arquivos e diretórios fora do WordPress
- ✅ Backup de servidores de arquivos externos
- ✅ Backup automático de tabelas customizadas do banco
- ✅ Detecção automática de tabelas não-WordPress
- ✅ Validação de caminhos para segurança
🔧 Backup Antes de Atualizações 🆕
- ✅ Backup automático antes de atualizar WordPress core
- ✅ Backup antes de atualizar plugins
- ✅ Backup antes de atualizar temas
- ✅ Restauração rápida se atualização falhar
- ✅ Cache de 6 horas para evitar backups duplicados
🖥️ Interface Admin
- ✅ Dashboard com estatísticas
- ✅ Lista de backups com filtros
- ✅ Página de configurações completa
- ✅ Gerenciamento de storage providers
- ✅ Botões de ação (criar, restaurar, download, deletar)
- ✅ Barra de progresso em tempo real
- ✅ Design moderno e responsivo
📊 WP-CLI Completo
- ✅ Comandos para criar, listar, restaurar backups
- ✅ Verificação de integridade
- ✅ Gerenciamento de configurações
- ✅ Suporte a backups incrementais
📥 Instalação
Via Git
cd wp-content/plugins/
git clone https://github.com/danilostorm/stormdraft.git
cd stormdraft
Via WP-CLI
wp plugin install https://github.com/danilostorm/stormdraft/archive/main.zip --activate
Manual
- Baixe o arquivo ZIP
- Extraia em
wp-content/plugins/stormdraft - Ative via Admin: Plugins > Plugins Instalados > StormDraft > Ativar
Após Ativação
O plugin cria automaticamente:
- Diretório
wp-content/stormdraft/ - Proteção
.htaccess - Subpastas
temp/elogs/ - Tabelas no banco de dados
🔍 Verificar Configuração
Via SSH
# Ver se diretório foi criado
ls -lah wp-content/ | grep stormdraft
# Verificar permissões
ls -lah wp-content/stormdraft/
# Ver espaço disponível
df -h wp-content/stormdraft/
Via WP-CLI
# Info do diretório
wp eval "print_r(\StormDraft\Utils\Directory::get_info());"
# Verificar se está gravável
wp eval "echo \StormDraft\Utils\Directory::is_writable() ? 'Gravável' : 'Não gravável';"
Via PHP
// No functions.php ou console
$info = \StormDraft\Utils\Directory::get_info();
print_r($info);
// Resultado:
Array (
[path] => /var/www/html/wp-content/stormdraft
[exists] => 1
[writable] => 1
[size] => 524288000
[size_formatted] => 500 MB
[file_count] => 5
[available_space] => 10737418240
[available_space_formatted] => 10 GB
[temp_dir] => /var/www/html/wp-content/stormdraft/temp
[logs_dir] => /var/www/html/wp-content/stormdraft/logs
)
🎯 Funcionalidades
1. Criar Backup Manual
Via Interface:
- Acesse StormDraft > Backups
- Clique em "Criar Backup Agora"
- Aguarde a conclusão
Via WP-CLI:
# Backup completo
wp stormdraft backup create
# Backup incremental
wp stormdraft backup create --incremental
# Backup apenas do banco de dados
wp stormdraft backup create --components=database
2. Ver Backups Existentes
# Listar arquivos na pasta
ls -lh wp-content/stormdraft/*.zip
# Via WP-CLI
wp stormdraft backup list
# Com detalhes
wp stormdraft backup list --format=table
3. Localizar Backup Específico
# Por data
ls -lh wp-content/stormdraft/*2026-01-23*.zip
# Por tipo
ls -lh wp-content/stormdraft/*database*.zip
ls -lh wp-content/stormdraft/*plugins*.zip
# Por tamanho (maiores primeiro)
ls -lhS wp-content/stormdraft/*.zip
4. Download Manual de Backup
# Via SCP
scp usuario@servidor:/caminho/wp-content/stormdraft/backup-123.zip ./
# Via WP-CLI (cria link temporário)
wp stormdraft backup download-link 123
📊 WP-CLI
Comandos de Diretório
# Info completa do diretório
wp eval "print_r(\StormDraft\Utils\Directory::get_info());"
# Limpar arquivos temporários antigos
wp eval "\StormDraft\Utils\Directory::clean_temp_files(24);" # > 24h
# Ver tamanho total
wp eval "echo size_format(\StormDraft\Utils\Directory::get_directory_size());"
# Contar backups
wp eval "echo \StormDraft\Utils\Directory::count_backup_files() . ' backups';"
# Ver espaço disponível
wp eval "echo size_format(\StormDraft\Utils\Directory::get_available_space());"
Comandos de Backup
# Criar backup
wp stormdraft backup create
wp stormdraft backup create --incremental
# Listar backups
wp stormdraft backup list
wp stormdraft backup list --format=table
# Deletar backup
wp stormdraft backup delete <backup-id>
# Verificar integridade
wp stormdraft backup verify <backup-id>
Comandos de Logs
# Ver log de hoje
cat wp-content/stormdraft/logs/stormdraft-$(date +%Y-%m-%d).log
# Últimas 50 linhas
tail -n 50 wp-content/stormdraft/logs/stormdraft-$(date +%Y-%m-%d).log
# Ver logs em tempo real
tail -f wp-content/stormdraft/logs/stormdraft-$(date +%Y-%m-%d).log
🛠️ Manutenção
Limpeza Automática
O plugin limpa automaticamente:
- Arquivos temporários > 24h
- Backups antigos (conforme configuração de retenção)
- Logs antigos > 30 dias
Limpeza Manual
# Limpar temp
rm -rf wp-content/stormdraft/temp/*
# Limpar logs antigos
find wp-content/stormdraft/logs/ -name '*.log' -mtime +30 -delete
# Ver backups antigos
find wp-content/stormdraft/ -name '*.zip' -mtime +30
# Deletar backups antigos
find wp-content/stormdraft/ -name '*.zip' -mtime +30 -delete
Migrar Backups Antigos
Se você já tinha backups em wp-content/uploads/stormdraft-backups/:
# Mover backups
mv wp-content/uploads/stormdraft-backups/*.zip wp-content/stormdraft/
# Ou copiar (manter original)
cp wp-content/uploads/stormdraft-backups/*.zip wp-content/stormdraft/
# Atualizar propriedade
chown www-data:www-data wp-content/stormdraft/*.zip
chmod 644 wp-content/stormdraft/*.zip
🔒 Segurança Adicional
Permissões Recomendadas
# Diretório principal
chmod 755 wp-content/stormdraft/
# Arquivos de backup
chmod 644 wp-content/stormdraft/*.zip
# .htaccess
chmod 644 wp-content/stormdraft/.htaccess
# Subdiretórios
chmod 755 wp-content/stormdraft/temp/
chmod 755 wp-content/stormdraft/logs/
Nginx
Se usar Nginx, adicione ao seu config:
# Bloquear acesso aos backups
location ~ ^/wp-content/stormdraft/ {
deny all;
return 404;
}
Backup Offsite
Recomendado configurar pelo menos um provedor remoto:
wp stormdraft storage configure googledrive
wp stormdraft storage configure s3
wp stormdraft storage configure dropbox
🎉 Conclusão
O plugin StormDraft v2.0.0 agora salva backups em:
✅ wp-content/stormdraft/
Vantagens:
- 📁 Organização clara
- 🔒 Segurança automática
- 🚀 Performance otimizada
- 📊 Logs centralizados
- 🧹 Limpeza facilitada
🔗 Repositório: https://github.com/danilostorm/stormdraft
Autor: Storm Animes
Site: Stormanimes.com.br
Licença: GPL v3
Feito com ❤️ por Storm Animes