If there were no Apple, it would be necessary for Microsoft to create one (apologies to Voltaire).

Copias de seguridad de repositorios SVN

Si utilizas TortoiseSVN quizá te interese este pequeño programa para hacer copias de seguridad periódicas de tus repositorios SVN. Está escrito en VBScript. Guárdalo en un archivo con la extensión vbs y ejecútalo cada vez que quieras hacer la copia. El resultado será un archivo cuyo nombre seguirá el formato 2008-01-30_19-30-00_repositorio.backup (fecha, hora y nombre del repositorio, terminado en la extensión backup).

' Fecha, en el formato AAAA-MM-DD.
Function ObtenerFecha
 
    Dim sAno   'As String
    Dim sMes   'As String
    Dim sDia   'As String
    Dim sAhora 'As Date
 
    sAhora = Now
    sAno = DatePart("yyyy", sAhora)
    sMes = DatePart("m", sAhora)
 
    If (Len(sMes) = 1) Then
        sMes = "0" & sMes
    End If
 
    sDia = DatePart("d", sAhora)
 
    If (Len(sDia) = 1) Then
        sDia = "0" & sDia
    End If
 
    Dim sResultado 'As String
 
    sResultado = sAno & "-" & sMes & "-" & sDia
 
    ObtenerFecha = sResultado
 
End Function
 
' Hora, en el formato HH-MM-SS.
Function ObtenerHora
 
    Dim sHora    'As String
    Dim sMinuto  'As String
    Dim sSegundo 'As String
    Dim sAhora   'As Date
 
    sAhora = Now
    sHora = DatePart("h", sAhora)
 
    If (Len(sHora) = 1) Then
        sHora = "0" & sHora
    End If
 
    sMinuto = DatePart("n", sAhora)
 
    If (Len(sMinuto) = 1) Then
        sMinuto = "0" & sMinuto
    End If
 
    sSegundo = DatePart("s", sAhora)
 
    If (Len(sSegundo) = 1) Then
        sSegundo = "0" & sSegundo
    End If
 
    Dim sResultado 'As String
 
    sResultado = sHora & "-" & sMinuto & "-" & sSegundo
 
    ObtenerHora = sResultado
 
End Function
 
' Creación de la orden a ejecutar.
 
Dim sPrefijo 'As String
 
sPrefijo = ObtenerFecha & "_" & ObtenerHora
 
Dim sOrden 'As String
 
sOrden = """%programfiles%\svn\bin\svnadmin.exe"" dump c:\repos > c:\" & sPrefijo & "_repos.backup"
 
' Ejecución
 
Dim WshShell 'As WScript.Shell
 
Set WshShell = CreateObject("WScript.Shell")
 
WshShell.Run "%comspec% /c " & sOrden, 0, True

En este caso en particular, se supone que el repositorio está en C:\repos\. El resultado acabará en C:\. Cambia esas rutas por las que más te interesen.

Deja un comentario

Nunca haremos pública ni compartiremos tu dirección de correo electrónico. Los campos obligatorios están marcados con un *

*
*