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%svnbinsvnadmin.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.