Alberto Robledo Cotrina – Windows Tools and Tips

Consejos y Herramientas sobre Tecnologías Microsoft

Archive for the ‘Lista de Seleccion’ Category

Ejecucion de NTBackup desde Script con una Lista de Selección de Archivos y/o Carpetas

Posted by Alberto Robledo en noviembre 6, 2008

¿Habéis tenido alguna vez la necesidad de efectuar backups desde la línea de comandos o desde un script?

Cada gestor de backup tiene sus propios métodos… y NTBackup no podía ser menos. Éste permite generar un fichero de lista de selección con extensión BKS en el que se le indicarán, línea por línea, los ficheros o las carpetas a ser respaldados. Ahora bien, tiene truco… ya que el formato de fichero es Unicode.

La sintaxis de NTBackup es la siguiente:

  • NTBackup Backup @»Fichero de Seleccion.BKS» /M «Tipo de Backup» /J «Nombre de Trabajo» /F «Fichero Destino.BKF» /D «Descripción del Backup» /N «Nombre del Dispositivo» /V:YES /R:NO /L:f /RS:NO /HC:ON

Si queréis obtener más información sobre cada uno de los parámetros, podéis consultar la ayuda de NTBackup mediante el comando NTBackup /? (no tiene misterio alguno).

Ahora bien, se debe tener en cuenta que el fichero BKS debe ser generado en formato Unicode. Para ello existen, entre otros, dos modos sencillos de generar este fichero correctamente:

  • Generando el fichero de modo manual desde el Bloc de Notas, y guardando el fichero en formato Unicode (Encoding –> Unicode), y
  • Generando el fichero de modo automático desde un script, generando un fichero de texto de tipo Unicode.

Desde el Bloc de Notas no tiene ninguna complicación… y «el secreto» reside en generar el fichero en modo Unicode. Si os fijáis, la sintaxis del método CreateTextFile es la siguiente:

  • object.CreateTextFile(filename[, overwrite[, unicode]])

 El tercer parámetro de dicho método, cuando se habilita (True), guarda el fichero en formato Unicode… con lo que NTBackup será capaz de interpretar un fichero de selección generado de este modo.

Por ejemplo, un script que respalde de modo normal el directorio C:\Backup Folder, contendría lo siguiente:

Set fso = CreateObject(«Scripting.FileSystemObject»)
set ObjShell = CreateObject(«Wscript.Shell»)

strDestFolder    = «C:\Dest Folder»
strBackupFolder  = «C:\Backup Folder»
strBackupFile    = strDestFolder & «\Backup File.BKF»
strSelectionFile = strDestFolder & «\Selection File.BKS»

set objSelectionFile = fso.CreateTextFile(strSelectionFile,,True) ‘NOTA: Unicode = TRUE

objSelectionFile.WriteLine (strBackupFolder)

strNTBackupCmd = «NTBackup Backup » & Chr(34) & «@» & strSelectionFile & chr(34) & » /M Normal » & _
               » /J » & chr(34) & «Backup Job Name » & chr(34) & _
               » /F » & chr(34) & strBackupFile & chr(34) & _
               » /D » & chr(34) & «Backup Description» & chr(34) & _
               » /N » & chr(34) & «Backup Device Name » & chr(34) & _
               » /V:YES /R:NO /L:f /RS:NO /HC:ON»

‘  Wscript.Echo strNTBackupCmd

set objNTBackupCmd = Wscript.Exec(strNTBackupCMD)

Lo mejor de todo esto es que el contenido del fichero de selección, al ser generado desde un script, puede adaptarse a cualquier necesidad (por ejemplo, respaldando ficheros o carpetas generados en una fecha concreta).

Un saludo,

Alberto Robledo.

Posted in Lista de Seleccion, NTBackup, Scripts, Unicode, VBS | 1 Comment »