@php $monitor = $monitoring['config']; $latest = $monitoring['latest']; $backupConfig ??= null; $backups ??= collect(); $backupScheduleMode = old('schedule_mode', $backupConfig?->schedule_times ? 'times' : 'interval'); $backupScheduleTimes = old('schedule_times', $backupConfig?->schedule_times ?? []); @endphp @extends('layout') @section('content')
{{ $system->name }} · disponibilidade, resposta e proteção de dados
O OmniAURIOS conecta diretamente ao MySQL, gera um dump compactado e guarda o arquivo em armazenamento privado. Os campos mostram apenas máscaras; valores atuais não são enviados à página. Deixe-os vazios para manter a configuração. A senha é cifrada pela APP_KEY.
@if($backupConfig)@endifConfiguração SFTP por solução. As credenciais ficam cifradas e a chave do servidor precisa ser fixada após conferência fora de banda.
Nenhuma verificação registrada.
Salve o endereço e execute a primeira verificação.Execuções e arquivos SQL e remotos, cada um no seu histórico.
Nenhuma execução de arquivos.
Este histórico é separado dos backups SQL e das verificações HTTP.| Status | Snapshot | Arquivos | Volume | Duração | Data | Restaurações de teste | Ação |
|---|---|---|---|---|---|---|---|
| {{ str_replace('_', ' ', $fileBackupRun->status) }} | {{ $fileBackupRun->snapshot_id ? '#'.substr($fileBackupRun->snapshot_id, 0, 12) : '—' }} | {{ number_format($fileBackupRun->files_processed, 0, ',', '.') }} / {{ number_format($fileBackupRun->files_total, 0, ',', '.') }} | {{ number_format($fileBackupRun->bytes_transferred / 1048576, 2, ',', '.') }} MB |
{{ $fileBackupRun->duration_ms !== null ? number_format($fileBackupRun->duration_ms / 1000, 1, ',', '.').' s' : '—' }}
@if($fileBackupRun->stage_durations_ms)
@php($stageLabels = ['connection' => 'Conexão', 'inventory' => 'Inventário', 'transfer' => 'Transferência', 'snapshot_validation' => 'Validação', 'snapshot_publication' => 'Snapshot', 'retention' => 'Retenção'])
Etapas@foreach($fileBackupRun->stage_durations_ms as $stage => $duration) {{ $stageLabels[$stage] ?? $stage }}: {{ number_format((int) $duration / 1000, 1, ',', '.') }} s{{ !$loop->last ? ' · ' : '' }} @endforeach |
{{ datetime_br($fileBackupRun->created_at?->format('Y-m-d H:i:s'), 'd/m/Y H:i') }} | @php($latestRestore = $fileBackupRun->restores->sortByDesc('id')->first()) @php($restoreStatusLabels = ['queued' => 'na fila', 'running' => 'em andamento', 'verified' => 'verificada', 'failed' => 'falhou', 'expired' => 'expirada']){{ $fileBackupRun->restores->count() }} · {{ $fileBackupRun->restores->where('status', 'verified')->count() }} verificadas @if($latestRestore && in_array($latestRestore->status, ['queued', 'running', 'failed'], true)) Última #{{ $latestRestore->id }} · {{ $restoreStatusLabels[$latestRestore->status] ?? $latestRestore->status }} @endif | @if($fileBackupRun->status === 'completed' && $fileBackupRun->phase === 'snapshot_validated') @php($verifiedRestore = $fileBackupRun->restores->where('status', 'verified')->sortByDesc('id')->first()) @if($verifiedRestore) folder_openArquivos recuperados @elseif($latestRestore && in_array($latestRestore->status, ['queued', 'running'], true)) Restauração #{{ $latestRestore->id }} {{ $restoreStatusLabels[$latestRestore->status] }} @else settings_backup_restoreTestar restauração @endif @else Snapshot não confirmado @endif |
Nenhum backup gerado.
Os arquivos aparecerão aqui depois da primeira execução.| Status | Arquivo | Tamanho | Data | Ação |
|---|---|---|---|---|
| {{ $backup->status }} | {{ $backup->status === 'success' ? 'Backup SQL #'.$backup->id : 'Backup em processamento' }} | {{ $backup->size_bytes ? number_format($backup->size_bytes / 1048576, 2, ',', '.').' MB' : '—' }} | {{ datetime_br($backup->created_at?->format('Y-m-d H:i:s'), 'd/m/Y H:i') }} | @if($backup->status === 'success')downloadBaixar@elseIndisponível@endif |