Módulo 09 — Backup e Restauração AVANÇADO
SAVE / RESTORE, Save Files, journaling e recuperação de dados no AS/400.
⚠ MÓDULO CRÍTICO: Operações de backup e restore impactam diretamente a disponibilidade e integridade do sistema. Sempre valide procedimentos em ambiente de teste antes de produção.
9.1 Save Files (Backup em Disco)
CRTSAVF FILE(MEUALIB/BACKUP001) TEXT('Backup biblioteca PROD 2024-01-15')
SAVLIB LIB(PRODLIB) DEV(*SAVF) SAVF(MEUALIB/BACKUP001)
SAVOBJ OBJ(MEUOBJ) LIB(PRODLIB) DEV(*SAVF) SAVF(MEUALIB/BACKUP001) OBJTYPE(*FILE)
DSPSAVF FILE(MEUALIB/BACKUP001) /* Ver conteúdo do SAVF */
9.2 Backup para Fita
SAVLIB LIB(PRODLIB) DEV(TAP01) ENDOPT(*REWIND)
SAVLIB LIB(LIB1 LIB2 LIB3) DEV(TAP01) /* Múltiplas bibliotecas */
SAVOBJ OBJ(*ALL) LIB(PRODLIB) DEV(TAP01) OBJTYPE(*FILE)
SAV DEV('/QSYS.LIB/TAP01.DEVD') OBJ(('/home') ('/tmp')) /* Salvar IFS */
DSPTAP DEV(TAP01) OUTPUT(*PRINT) /* Ver conteúdo da fita */
9.3 Backup Completo do Sistema
Sequência para backup completo (requer modo restrito):
/* 1. Encerrar todos os subsistemas (modo restrito) */
ENDSBS SBS(*ALL) OPTION(*CNTRLD) DELAY(600)
/* 2. Salvar sistema operacional */
SAVSYS DEV(TAP01)
/* 3. Salvar dados de segurança */
SAVSECDTA DEV(TAP01)
/* 4. Salvar configuração */
SAVCFG DEV(TAP01)
/* 5. Salvar bibliotecas de usuário */
SAVLIB LIB(*ALLUSR) DEV(TAP01)
/* 6. Salvar IFS */
SAV DEV('/QSYS.LIB/TAP01.DEVD') OBJ(('/'))
/* 7. Reiniciar subsistemas */
STRSBS SBSD(QCTL)
9.4 Backup Incremental
SAVLIB LIB(PRODLIB) DEV(TAP01) ACCPTH(*YES) UPDHST(*YES) SAVACT(*LIB) DSPOBJD OBJ(PRODLIB/MEUOBJ) OBJTYPE(*FILE) OUTPUT(*PRINT) /* Ver data do último backup */
9.5 Restauração
RSTLIB SAVLIB(PRODLIB) DEV(*SAVF) SAVF(MEUALIB/BACKUP001) RSTLIB(PRODLIB) RSTLIB SAVLIB(PRODLIB) DEV(*SAVF) SAVF(MEUALIB/BACKUP001) RSTLIB(PRODLIB_TESTE) /* Outro nome */ RSTOBJ OBJ(MEUOBJ) SAVLIB(PRODLIB) DEV(*SAVF) SAVF(MEUALIB/BACKUP001) OBJTYPE(*FILE) RSTLIB(PRODLIB) RSTLIB SAVLIB(PRODLIB) DEV(TAP01) /* Restaurar de fita */
9.6 Journaling — Proteção Contínua
CRTJRNRCV JRNRCV(MEUALIB/JRNRCV001) TEXT('Receptor journal PRODLIB')
CRTJRN JRN(MEUALIB/MEUJRN) JRNRCV(MEUALIB/JRNRCV001)
STRJRNPF FILE(PRODLIB/MEUARQ) JRN(MEUALIB/MEUJRN) /* Iniciar journal */
ENDJRNPF FILE(PRODLIB/MEUARQ) JRN(MEUALIB/MEUJRN) /* Encerrar journal */
DSPJRN JRN(MEUALIB/MEUJRN) OUTPUT(*PRINT) /* Ver entradas */
APYJRNCHG JRN(MEUALIB/MEUJRN) FILE((PRODLIB/MEUARQ)) FROMENT(100) TOENT(500)
9.7 Monitoramento e Verificação
DSPLOG LOG(QHST) PERIOD((*AVAIL) (*CURRENT)) /* Log incluindo backups */ VFYTAP DEV(TAP01) /* Verificar fita */ REEL DEV(TAP01) ENDOPT(*REWIND) /* Rebobinar fita */
Dica: Consulte o script de backup de biblioteca com tratamento de erro e nome automático por data.