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

by Storm Animes · github.com/danilostorm/stormdraft · website

0stars
0forks

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

🎯 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