Utilizando PSCP para realizar backups automaticos en Windows

10 Comments

Regularmente utilizo scripts escritos en Linux para la realizacion automatica de mis backups. Pero en esta oportunidad debo de mover los backups de MSSQL desde una pc con Windows XP hacia mi servidor de backups. Para esta tarea me recomendaron utilizar el programada PSCP, el cual es desarrollado por los mismos de mi cliente favorito de ssh para windows: putty.

Descargar binario de PSCP

Para descargar el instalador de PSCP asi como el de putty pueden hacerlo en la pagina oficial. Para la instalacion tan solo se necesita moverlo a X carpeta.

Uso y parametros de pscp

Ya con nuestro ejecutable pscp descargado en nuestro sistema Windows, lo ejecutamos abriendo el command prompt y tecleando:

C:Documents and SettingsAdministradorpscp
PuTTY Secure Copy client
Release 0.60
Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls [user@]host:filespec
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -p        preserve file attributes
  -q        quiet, don't show statistics
  -r        copy directories recursively
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -P port   connect to specified port
  -l user   connect with specified username
  -pw passw login with specified password
  -1 -2     force use of particular SSH protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for authentication
  -noagent  disable use of Pageant
  -agent    enable use of Pageant
  -batch    disable all interactive prompts
  -unsafe   allow server-side wildcards (DANGEROUS)
  -sftp     force use of SFTP protocol
  -scp      force use of SCP protocol

Como podran ver, al teclear el comando sin ningun parametro este nos mostrara la ayuda. Entonces siguiendo las instrucciones anteriores podemos hacer nuestra copia de seguridad remota utilizando el canal encriptado de ssh que nos brinda pscp. Como ejemplo, para mi solucion utilizo

Propietario>pscp -r -pw contraseña C:backups usuario@miservidor:/home/backups/

Donde,

  • -r , copiar los directorios recursivamente
  • -pw, password
  • C:backups, directorios a transmitir
  • usuario, nombre del usuario en ele servidor remoto
  • miservidor, ip o nombre del servidor con el camino a donde copiar la info

Programar el backup automaticamente en Windows XP

Para poder crear la tarea automatiza para la transferenicia segura de los archivos de la copia de seguridad, seguimos los siguientes pasos:

  1. Luego nos vamos a Inicio –> Todos los Programas –> Accesorios  –> Herramientas –> Tareas Programadas.
  2. Hacemos clic en Agregar Tarea Programada
  3. Luego clic en Examinar donde buscamos el ejecutable pscp.exe
  4. Lean y sigan los pasos del wizard.
  5. Antes de terminar la creacino de la tarea chequeamos la casilla de abrir propiedades avanzadas.
  6. En la nueva ventana, dentro de la casilla de ejecutar agregamos los parametros propios de nuestra configuracion al comando pscp.

Comentarios finales

En la casilla de ejecutar, hay que dejar los parametros fuera de las comillas dobles. Estas comillas solo deben de contener el path del comando.

Ya que no utilizo Windows Vista ni tengo acceso a Windows 7 no he puesto como programarle backup, pero ha de ser muy similar.

10 Replies to “Utilizando PSCP para realizar backups automaticos en Windows”

  1. yo difiero en cuestion de software… creo que el mejor es el que es idependiente a la cuesti÷on de toda la pc y su utilidad.

  2. una consulta se puede encriptar la contraseña, asi si escribo un bat para realizar el respaldo automatico si alguien abra con el bloc de notas el bat no vea la contraseña….

    ademas tengo el siguiente problema, al querer automatizar el respaldo, para este caso puntual, el respaldo es de unos logs, que se generan diariamente, el tema es una vez por semana que se hace el respaldo tengo que escribir a mano la fecha en la que estoy haciendo el respaldo, o sea, poner que el archivo que se va a copiar es el de hoy, ejemplo el nombre con el que se generan los archivos es aaaa-mm-dd (año-mes-dia) y ese mismo nombre tengo que ponerlo como nombre de destino…

    se podra hacer que el bat le diga al comando pscp usa la fecha del dia de hoy como nombre del archivo que quiero copiar y tambien como nombre del archivo de destino…..

    otra opcion seria que el pscp copie de la carpeta de origen el unico archivo que tiene fecha del corriente dia… y para el nombre de destino dejo un nombre base como “2010” y agrego una linea mas abajo que renombre ese “2010” a “2010-xx-xx” usando la fecha del dia actual como nombre…..

    claro el concepto esta bueno, pero no tengo idea como implementarlo… y ya llevo 1 semana dando vueltas y googleando… y no encuentro solucion….

    o que otro cliente hay que tenga esta caracteristica…

    les estare muy agradecida si me dan una mano..

    desde ya gracias!

    salu2 niki

    1. Niki,

      Precisamente lo que hace pscp es enviar la infor por un canal encriptado. Esa es la idea, enviar backups seguros por la red. Lo de ponerle fecha a los archivos tenes que hacerlo desde el windows, la unica tarea del pscp es enviar archivos no cambiarles nombre.

      1. fher98: entonces lo unico que podria hacer es un respaldo generico, y en el destino borrar todo lo viejo?

        puedo con el pscp puedo si no especifico un nombre de archivo a ser copiado, interpreta que quiero todos los archivos de la carpeta origen no??

        desde ya muchas gracias!!

  3. Si la estación de origen es un sistema operativo Windows, yo recomiendo que uses el robocopy.exe. Se incluye el el Resource Kit de los sistemas operativos microsoft, y lo tienes tanto para XP, como Windows 7 o Windows 2003 Server.

  4. qué software hay para hacer copias de seguridad programadas y desatendidas desde estaciones de trabajo con Windows 7 a servidores o unidades de red?

Deja tus preguntas o comentarios