Rotina de agendamento de backup para MySQL

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Rotina de agendamento de backup para MySQL

Mensagem por rochinha »

Amiguinhos,

Usando o conhecimento na criação de uma rotina de backup agendado do registro do Windows, esbocei as seguintes rotinas para testes e uso com tabelas do MySQL.

O esboço foi feito levando em consideração o uso em linha de comando.

Façam seus testes e correções para uso diário pois apenas psicografei a idéia.

1.Comando para agendar a tarefa(necessário que seu Windows tenha os serviços de agendamentos ligados)

Código: Selecionar todos

schtasks /create /f /tn "MyBackupSQL" /tr C:\SISTEMA\AutoBackup.bat /sc daily /st 09:00:00
Pelo comando acima a tarefa MyBackupSQL será executada todos os dias as 09:00 horas. O comando acima será executado somente uma vez e deverá ter seu nivel de segurança elevado ao executar(Executar como administrador) pois exige nível de administrador.

2.Código para o AutoBackup.bat

Código: Selecionar todos

 
REM **** Pega data completa do S.O.
SET V_ALL=%DATE%

REM **** Pega partes da data conforme a posicao
SET V_DIA=%V_ALL:~0,2%
SET V_MES=%V_ALL:~3,2%
SET V_ANO=%V_ALL:~6,4%

SET LOCAL_BACKUP=C:\BACKUPS\MYSQL\%V_ANO%-%V_MES%-%V_DIA%

REM **** Verifica se existe aplicativo de backup
IF EXIST %LOCAL_BACKUP%\*.* GOTO FIM

REM **** Verifica se existe pasta de backup e cria se nao existir
IF NOT EXIST %LOCAL_BACKUP%\*.* MD %LOCAL_BACKUP%

C:
CD\MYSQL\BIN
REM **** Faz backup de um banco de dados especifico
REM mysqldump –u usuário –p nome_do_banco_de_dados > %LOCAL_BACKUP%\arquivo_de_backup.sql
REM **** Faz backup de todos os bancos de dados
    mysqldump –u usuário –p --all-databases > %LOCAL_BACKUP%\arquivo_de_backup.sql
REM **** Faz restauro do backup
REM mysql –u usuário –p banco_de_dados < %LOCAL_BACKUP%\arquivo_de_backup.sql

REM SET V_DIA
REM SET V_MES
REM SET V_ANO

REM PAUSE

:FIM
ECHO.
ECHO Rotina de backup terminada
ECHO.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Responder