WP Manifestindependent plugin directory
manifest / updates / stormdraft

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

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/danilostorm/stormdraft/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

🚀 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

🎯 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

  1. Baixe o arquivo ZIP
  2. Extraia em wp-content/plugins/stormdraft
  3. 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/ e logs/
  • 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:

  1. Acesse StormDraft > Backups
  2. Clique em "Criar Backup Agora"
  3. 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