Enreas
Advertisement

Copias de seguridad en Linux[]

El siguiente código puede utilizarse para crear un script que ejecute de forma automática una copia de seguridad de la base de datos de MySQL cuyo nombre se le pase como argumento:

# Nombre de la base de datos.
BD=$1
# Nombre del usuario.
USUARIO=root
# Clave del usuario.
CLAVE=clave
# Ruta donde guardar la copia de seguridad.
SALIDA=/backups/mysql/
# Fecha de ayer.
FECHA=`date -d yesterday +%Y-%m-%d`

mysqldump \
  --add-drop-table \
  --lock-tables \
  --databases \
  --user=${USUARIO} \
  --password=${CLAVE} \
  ${BD} > ${SALIDA}${FECHA}_${BD}.sql

Puede crear una tarea periódica que se ejecute una vez al día utilizando este script.

Copias de seguridad en Windows[]

El siguiente código puede utilizarse para crear un script que ejecute de forma automática una copia de seguridad de la base de datos de MySQL cuyo nombre se le pase como argumento:

<job id="backup">
  <script language="VBScript">

option explicit

dim sBD      'as string
dim sUsuario 'as string
dim sClave   'as string
dim sSalida  'as string
dim sAno     'as string
dim sMes     'as string
dim sDia     'as string
dim sFecha   'as string
dim sRuta    'as string

dim oArgs 'as WScript.Arguments
set oArgs=WScript.Arguments

sBD     =oArgs(0)
sUsuario="root"
sClave  ="clave"
sSalida ="c:\backups\mysql\"
sFecha  =Date-1
sAno    =DatePart("yyyy",sFecha)
sMes    =DatePart("m",sFecha)
sDia    =DatePart("d",sFecha)

if len(sMes)=1 then
  sMes="0" & sMes
end if

if len(sDia)=1 then
  sDia="0" & sDia
end if

sFecha=sAno & "-" & sMes & "-" & sDia
sRuta ="c:\mysql\bin\"

dim sh 'as WScript.Shell
set sh=WScript.CreateObject("WScript.Shell")

sh.run "cmd /C """ & sRuta & _
  "mysqldump.exe"" " & _
  "--add-drop-table " & _
  "--lock-tables " & _
  "--databases " & _
  "--user=" & sUsuario & " " & _
  "--password=" & sClave & " " & _
  sBD & " > " & _
  sSalida & sFecha & "_" & sBD & ".sql"

  </script>
</job>

Puede utilizar las tareas programas de Windows para ejecutar este archivo una vez al día.

Enlaces interesantes[]

Puede que encuentre interesantes los siguientes enlaces para ampliar su aprendizaje sobre los temas tratados en este capítulo:

Advertisement