seguridad programar copias copia configurar como automatico automaticas backup teamcity schedule

copias - programar backup sql server 2008 express



¿Cómo programar copias de seguridad automáticas en teamcity? (6)

Estamos utilizando la versión profesional de Teamcity 6.5.6, que me da la opción de ejecutar una copia de seguridad, pero no veo ninguna opción para programarla en un momento determinado.

No estoy seguro de si esta versión de teamcity incluso admite copias de seguridad programadas. Si no es posible a través de la GUI de teamcity, me pregunto si hay alguna otra opción.

¿Alguien podría ayudar por favor?

Gracias.


Ejecutamos maintenanceDB.cmd y lo programamos con el Programador de tareas de Windows, es un comando de una línea y no requiere software adicional. keepDB está completamente documentado en la documentación de TeamCity.


Escribí el script Powershell para las copias de seguridad automáticas de TeamCity , que puede programar y ejecutar copias de seguridad.

Aquí está el código:

function Execute-HTTPPostCommand() { param( [string] $url, [string] $username, [string] $password ) $authInfo = $username + ":" + $password $authInfo = [System.Convert]::ToBase64String([System.Text.Encoding]::Default.GetBytes($authInfo)) $webRequest = [System.Net.WebRequest]::Create($url) $webRequest.ContentType = "text/html" $PostStr = [System.Text.Encoding]::Default.GetBytes("") $webrequest.ContentLength = $PostStr.Length $webRequest.Headers["Authorization"] = "Basic " + $authInfo $webRequest.PreAuthenticate = $true $webRequest.Method = "POST" $requestStream = $webRequest.GetRequestStream() $requestStream.Write($PostStr, 0, $PostStr.length) $requestStream.Close() [System.Net.WebResponse] $resp = $webRequest.GetResponse(); $rs = $resp.GetResponseStream(); [System.IO.StreamReader] $sr = New-Object System.IO.StreamReader -argumentList $rs; [string] $results = $sr.ReadToEnd(); return $results; } function Execute-TeamCityBackup() { param( [string] $server, [string] $addTimestamp, [string] $includeConfigs, [string] $includeDatabase, [string] $includeBuildLogs, [string] $includePersonalChanges, [string] $fileName ) $TeamCityURL = [System.String]::Format("{0}/httpAuth/app/rest/server/backup?addTimestamp={1}&includeConfigs={2}&includeDatabase={3}&includeBuildLogs={4}&includePersonalChanges={5}&fileName={6}", $server, $addTimestamp, $includeConfigs, $includeDatabase, $includeBuildLogs, $includePersonalChanges, $fileName); Execute-HTTPPostCommand $TeamCityURL "USER" "PASSWORD" } $server = "http://YOUR_SERVER" $addTimestamp = $true $includeConfigs = $true $includeDatabase = $true $includeBuildLogs = $true $includePersonalChanges = $true $fileName = "TeamCity_Backup_" Execute-TeamCityBackup $server $addTimestamp $includeConfigs $includeDatabase $includeBuildLogs $includePersonalChanges $fileName


Para aquellos que quieran activar compilaciones desde Mac OS (use el corredor de "línea de comandos" en TeamCity):

curl --basic --user user:password -X POST "http://team.city.server:8111/httpAuth/app/rest/server/backup?includeConfigs=true&includeDatabase=true&includeBuildLogs=true&fileName=ScheduledBackup"


Podría utilizar la API REST para ejecutar la copia de seguridad. En realidad usamos TeamCity para ejecutar una compilación programada a la medianoche de cada día. Esa compilación hace una llamada al resto de la API para hacer la copia de seguridad.


Si no desea escribir programas para realizar su tarea, simplemente ejecute este comando:

wget --user=*** --password=*** "http://localhost:8085/httpAuth/app/rest/server/backup?includeConfigs=true&includeDatabase=true&includeBuildLogs=true&fileName=ScheduledBackup-" --post-data=

donde las estrellas deben ser reemplazadas con su información de inicio de sesión de TeamCity.

En Windows, puede obtener WGET como parte del paquete Cygwin


También puede usar la variable de entorno para que la dirección del servidor de la ciudad del equipo se resuelva en el momento de la compilación:

curl --basic --user user:pasword -X POST "%teamcity.serverUrl%/httpAuth/app/rest/server/backup?includeConfigs=true&includeDatabase=true&includeBuildLogs=true&fileName=ScheduledBackup"