Copias de seguridad en windows

En este articulillo explicaba como hacer copias de linux a linux via ssh gracias a herramientas usuales como tar y rsync. Ahora bien, ¿y en windows? Respuesta: 7zip, winscp y blat:

  • 7z: compresor bueno
  • winscp para conectarte al servidor ssh
  • blat para enviar email de confirmación
1.- Empaquetar los datos a un fichero
7z a -t7z -r paquete.7z *.bak
2.- Enviar al servidor SSH
winscp.exe /console /script=sftp.txt
donde sftp.txt:

option batch on
option confirm off
open user:password@server
option transfer binary
cd copias
rm paquete.7z
rm *.filepart
put paquete.7z
close
exit


3. Enviar email de confirmación

a) blat -installSMTP server admin@example.org
b) blat -to admin-copias@example.org -subject copias -body "hola que tal blablabla"
b') echo "hola que tal" | blat - -to admin-copias@example.org -subject copias
b'') crear archivo de log y blat logfile.txt -to admin-copias@example.org -subject copias

4.- Todo junto
@echo off
set dia=%date:~0,2%
set mes=%date:~3,2%
set any=%date:~6,4%
set hora=%TIME:~0,2%
set min=%TIME:~3,2%
set seg=%TIME:~6,2%
set "mail=c:\bats\mail.temp"

del e:\*-sql.7z
del e:\*-gestio.7z

::sql
::start /WAIT c:\bats\sql.bat

::compresion
echo "%TIME:~0,8% - Compresion" > %mail%
7z a -t7z -r e:\%any%-%mes%-%dia%-sql.7z e:\sql\*.bak
7z a -t7z -r e:\%any%-%mes%-%dia%-gestio.7z d:\gestio

:: envio al server ssh
echo "%TIME:~0,8% - Envio" >> %mail%
winscp.exe /console /script=c:\bats\sftp.txt
echo "%TIME:~0,8% - Fin" >> %mail%

blat %mail% -to admin-copias@example.org -subject "[HCG] Gestio Backup"
del /Q %mail%
exit

Comentarios